Categories: Lang-CN | Symbian OS | Symbian C++ | S60
This page was last modified 17:36, 14 April 2007.
中文 MMF Controller API
From Forum Nokia Wiki
多媒体框架控制器(MMF Controller)API
多媒体框架(MMF)控制器插件API是由CMMFController接口类实现的。该类是负责接收客户端应用程序调用的RMMFController类的请求,并且将请求分发到更下一层的服务中去。在被创建的时候,CMMFController分配了所有的内部插件生成对象,比如数据源、格式类和编码/解码器等等。
另外,该类还会同声音设备硬件建立一个会话。每一个MMF插件都继承自CMMFController类,并且必须提供该类所有虚函数的实现。
CMMFController类的声明在文件MMFController.h中。
另外一个一个重要的地方就是,对于某些能够对插件的运行状态产生影响的函数,例如PlayL(), PauseL(), and StopL(),他们都有同步和异步两个版本。这种设计的一个好处就是,在控制器内部进行异步操作的同时,可以保持客户端具有一个同步调用的API接口。
例如,播放声音请求可以在播放操作一开始进行就立刻返回,而并不需要完成了整首歌曲的播放才结束。
virtual void CMMFController::PlayL() = 0; virtual CMMFController::void PlayL( TMMFMessage& aMessage); //async virtual void CMMFController::PauseL() = 0; virtual void CMMFController::PauseL( TMMFMessage& aMessage); //async virtual void CMMFController::StopL() = 0; virtual void CMMFController::StopL( TMMFMessage& aMessage); //async
通过CustomCommand()处理函数,我们可以向控制器发送定制的命令。在控制器内部,是由一个专门的函数会对控制器定制命令进行处理的。而Symbian也提供了一个默认的定制命令处理器,确保了所有的客户端/服务器消息的处理,即便他们是无法识别的命令请求。
virtual void CMMFController::CustomCommand(
TMMFMessage& aMessage)
{aMessage.Complete(KErrNotSupported);};//default implementation
void CMMFController::AddCustomCommandParserL(
CMMFCustomCommandParserBase& aParser);
--
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| 有人写过mmf的plugin吗,有个问题一直没法解决 | lchjxsh | Symbian | 7 | 2004-12-22 01:00 |
| Problem with CVideoPlayerUtility | rasikasri | Symbian Media (Graphics & Sounds) | 9 | 2006-10-17 04:58 |
| My (stupid?) application architecture | animage | General Symbian C++ | 10 | 2007-03-14 18:39 |
| Joy RingTone Converter - Save any part of your mp3s to MMF, AMR, MIDI ringtone | mygods | News, Announcements and Job Listings | 0 | 2006-05-22 22:15 |
| streaming mp3 | santosh shetty | Symbian Media (Graphics & Sounds) | 73 | 2008-02-20 10:50 |
