2012-12-02 171 views
-1

屏幕关闭时FMOD口吃口吃。屏幕关闭时FMOD声音口吃

以下是源代码。

result = FMOD_System_CreateSound(gSystem, songPath, FMOD_CREATECOMPRESSEDSAMPLE | FMOD_SOFTWARE, 0, &gSound); 
CHECK_RESULT(result); 

__android_log_write(ANDROID_LOG_INFO, "path", songPath); 

result = FMOD_System_PlaySound(gSystem, FMOD_CHANNEL_FREE, gSound, 0, &gChannel); 
CHECK_RESULT(result); 
+0

很难说你的问题是什么... – FoamyGuy

回答

2

口吃通常是由于音频缓冲不足以应对向扬声器传送音频的延迟。这可能是由于应用程序的CPU使用率峰值或操作系统调度更改(如进入后台状态的应用程序)引起的。

我会建议试用System :: setDSPBufferSize,默认值是1024(缓冲区大小)x 4(num buffers)。考虑从4增加缓冲区的数量,直到口吃变得稳定。

此外,Android还考虑使用基于Java的AudioTrack输出模式与FMOD,而不是将其保留默认值。在System :: init之前使用System :: setOutput(FMOD_OUTPUTTYPE_AUDIOTRACK),这种模式通常比较稳定。

+0

thx为种类和准确的答案。 thx为它:) – choijuho