mp3声音在模拟器上播放但不在设备上播放(音频BeatBox)

时间:2011-04-14 02:13:10

标签: ios iphone ios-simulator audiotoolbox

我有一个非常严重的问题:

我正在制作音频同步BEATBOX,同时播放16种不同的声音。

为了实现我们放弃的mp3文件的TIME-SYNC AVAudioPlayer包含了AUGraph方法:

MixerHostAudio.m 和 MixerHostAudio.h

我在开发者资源表单Apple下载。

实现对Simulator工作正常,但在Device上没有 加载第4个文件后崩溃......

我们将文件加载为kAudioFormatLinearPCM格式。

我们将其更改为:kAudioFormatMPEGLayer3

将文件全部输出.mp3我们认为这将是所需的格式。

APP设法加载资源,但是我们在startAUGraph上遇到了错误 方法

APP Didnt在设备上崩溃,但它没有播放任何声音,也没有设备,也没有 在模拟器中。

我们尝试将比特率从32改为16,这似乎有所帮助.. 但是没有SOUND仍然......帮助!

1 个答案:

答案 0 :(得分:0)

解决:

显然没有办法将压缩音频文件加载到iOS上的AUGraph或AudioBuffer中,因此可以转换为linearPCM:

转换为linearPCM时,29秒.mp3文件(每个500KB)变为5 MB文件。

iPhone 3G为每个应用程序提供大约20 MB的RAM内存,这解释了为什么APP在加载第4个文件后崩溃了(4 * 5 = 20:p)

理想的解决方案是实现一个缓冲算法,每次只加载文件的一小部分(例如,1秒)。

此解决方案当时有点让我头疼,因此实际解决方案正在为环路加载更短的文件,以便能够在3G和3GS设备上加载。 iPhone4将加载完整的原始循环。

感谢所有回复。

Hernan