第十八章 铃音管理接口
一、主要内容
(1)、铃音格式介绍
(2)、IRingerMgr接口用法
(3)、IRingerMgr接口概览
二、铃音格式介绍
(1)、常见格式
(a)、MIDI/CMX/SMAF/QCP/MP3/ …
(2)、手机差异性
(a)、格式支持情况
(b)、OEM铃音格式头文件
三、IRingerMgr接口用法
(1)、IRingerMgr接口使用步骤
(a)、设置MIF权限
(b)、引用AEERinger.h头文件
(c)、以AEECLSID_RINGERMGR调用ISHELL_ CreateInstance ()创建接口指针
(d)、IRINGERMGR_RegisterNotify()注册回调函数
(e)、铃音操作(创建,设置,删除 …)
(f)、释放铃音接口
四、IRingerMgr接口概览
(1)、int IRINGERMGR_Create(IRingerMgr * pIRingerMgr, const AECHAR * pszName, AEESoundPlayerFile format, IAStream * ps);
(a)、typedef enum
{
AEE_SOUNDPLAYER_FILE_UNKNOWN,
AEE_SOUNDPLAYER_FILE_MIDI,
AEE_SOUNDPLAYER_FILE_MP3,
AEE_SOUNDPLAYER_FILE_LAST
} AEESoundPlayerFile;
(2)、IRINGERMGR_EnumCategoryInit()
(3)、IRINGERMGR_EnumNextCategoryInit():枚举铃音目录
(4)、IRINGERMGR_EnumRingerInit()
(5)、IRINGERMGR_EnumNextRinger():枚举铃音
(6)、IRINGERMGR_GetNumberFormats()
(7)、IRINGERMGR_GetFormats():获取手机支持铃音格式
(8)、IRINGERMGR_GetRingerID():由铃音文件命获得铃音ID
(9)、IRINGERMGR_GetRingerInfo(): 根据铃音ID获得铃音信息
(a)、typedef struct _AEERingerInfo {
AEERingerID id;
AEESoundPlayerFile format;
char szFile[MAX_FILE_NAME];
AECHAR szName[MAX_RINGER_NAME];
} AEERingerInfo;
(10)、IRINGERMGR_Play():播放特定ID铃音
(11)、IRINGERMGR_PlayEx()
(a)、根据铃音ID播放
(b)、根据文件名播放
(c)、从铃音流播放
(12)、IRINGERMGR_PlayFile():从文件播放铃音
(13)、IRINGERMGR_PlayStream():从流播放铃音
(14)、IRINGERMGR_Stop():停止播放铃音
(15)、IRINGERMGR_RegisterNotify()
(a)、typedef void ( * PFNRINGEREVENT) ( void * pUser, AEERingerEvent evt, uint32 dwParm, int nErr);
(b)、AEERingerEvent
—ARE_NONE, ARE_PLAY, ARE_CREATE, ARE_WRITE
(16)、IRINGERMGR_Remove():根据铃音ID删除铃音
(17)、IRINGERMGR_SetRinger():根据铃音ID设置某一铃音分组的默认铃音
五、本章关键点
(1)、铃音格式介绍
(2)、IRingerMgr接口的使用方法
(3)、IRingerMgr接口说明
六、问题回顾
(1)、BREW支持哪些铃音?
(2)、IRingerMgr接口的使用方法?
(3)、如何得到手机支持的铃音格式?
(4)、如何创建一个铃音?