我最近做一个游戏,我想问一下我游戏中用Imedia播放声音,我想在游戏结束时画面停住然后加入一个声音,于是我在GAME函数中加入了播放声音的函数,虽然我创建了实例,并且在IMEDIA_SetMediaData里重新设置了数据,但是依然没有声音,请问有什么解决办法?
注意下面图中Idle到ready状态,是单向的,不能回去。所以释放Imedia重来吧。
Idle
|
| IMedia_SetMediaData()
V
Ready
|
V
-----------------------
| |
IMedia_Play() | | IMedia_Record()
V V
Play Record
| ^ ^ |
IMedia_Pause()| | IMedia_Resume() | | IMedia_Pause()
V | | V
Play_Pause Record_Pause
没调用IMedia_Play()吧
首先确定你的按照MEDIA的状态机来做,其次看你播放文件格式目标机器是否支持,如果都没有问题的话,在你注册给MEDIA的callback函数,抓LOG来分析播放音乐的时候你是否调用了IMedia_Play?如果没有调用IMedia_Play函数,声音是没有办法出来的。
还有一个问题需要确认一下IMedia_SetVolume当前的音量是多少,看看你系统默认的音量是否为0。
第三看看你输出的设备是否是speaker?ISOUND_SetDevice.函数。