BREW KDDI 声音有关问题

  1. 最近我们在做一些 BREW 的欧美游戏移植到KDDI的外包项目,就声音问题做一下总结,留作备份。

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

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

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

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

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

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

创建spf格式声音实例使用的CLASSIDAEECLSID_MEDIAPHR

mmf格式声音的实例需要用到的CLASSIDAEECLSID_MEDIAMMF

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

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

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

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

转载请保留以下信息:

作者(Author):smilelance

时间( Time ):2006.06.27

出处( From ):http://blog.csdn.net/smilelance

你可能感兴趣的:(游戏,音乐,brew)