簡體   English   中英

在模擬器上而不是在設備上播放mp3聲音(音頻BeatBox)

[英]mp3 Sounds Playing on simulator but not on Device (Audio BeatBox)

我最終遇到了一個非常嚴重的問題:

我正在制作音頻同步的BEATBOX,同時播放16種不同的聲音。

為了實現mp3文件的時間同步,我們在AVAudioPlayer上放棄了,並采用了AUGraph方法:

MixerHostAudio.m和MixerHostAudio.h

我是從Apple的開發人員資源處下載的。

對於模擬器,該實現工作正常,但在設備上卻無法正常工作,該設備在加載第四個文件后崩潰了...

我們正在將文件加載為kAudioFormatLinearPCM格式。

我們將其更改為:kAudioFormatMPEGLayer3

由於文件全部為.mp3,我們認為這是必需的格式。

APP確實設法加載了資源,但是在startAUGraph方法上出現了錯誤。

APP Didnt在設備上崩潰,但在設備,模擬器中均未播放聲音。

我們嘗試將位速率從32更改為16,這似乎有所幫助..但仍然沒有聲音..幫助!

解決了:

顯然沒有辦法將壓縮的音頻文件加載到iOS上的AUGraph或AudioBuffer中,必須轉換為linearPCM,因此:

當轉換為linearPCM時,29秒的.mp3文件(每個500KB)變成5 MB文件。

iPhone 3G為每個應用程序提供大約20 MB的RAM內存,這解釋了為什么加載第四個文件(4 * 5 = 20:p)后APP崩潰的原因

理想的解決方案是實現每次僅加載文件的一小部分(例如1秒)的緩沖算法。

當時,這個解決方案有點麻煩,因此實際解決方案是為循環加載更短的文件,以使其能夠加載到3G和3GS設備上。 iPhone4將加載完整原始循環。

感謝所有的答復。

赫南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM