您的位置:首页 > 其它

BREW KDDI 声音有关问题

2006-06-27 14:56 274 查看
最近我们在做一些BREW的欧美游戏移植到KDDI的外包项目,就声音问题做一下总结,留作备份。

1、 有的游戏里原来使用了IsoundPlayer接口, KDDI验证可能通不过,要换成IMedia 接口。

2、 一般KDDI的外包项目提供给我们的声音文件是spf格式或者mmf格式的音乐,

目前我们所使用声音的普遍播放方法是:

使用ISHELL_LoadResData把所有声音在游戏开始时加载入资源(游戏结束时记得释放),

为每个声音文件创建实例,准备就绪,并需要注册回调函数用来处理声音的循环播放等问题。

3、 关于mmf格式音乐播放的特殊问题

创建spf格式声音实例使用的CLASSID是AEECLSID_MEDIAPHR

而mmf格式声音的实例需要用到的CLASSID是AEECLSID_MEDIAMMF,

BREW中最多可以同时播放多达4个spf格式音乐,但只能同时播放1个mmf格式的。

所以BREW中使用AEECLSID_MEDIAMMF同时只能创建一个实例,这样的话带来一个问题,当你想播放新声音的时候必须把老的声音接口释放掉,重新创建新的接口实例,但所有声音资源仍然可以一直保留在内存里,只不过播放不同声音时候指针指向位置不同。

4、 关于中断(中断是声音最容易出问题地方)

中断是必须关闭所有声音,并且释放掉所有的声音接口实例,等到恢复时再重新创建,但是内存中的声音资源可以不用释放。

转载请保留以下信息:

作者(Author):smilelance

时间( Time ):2006.06.27

出处( From ):http://blog.csdn.net/smilelance
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: