我試圖在同一時間播放多個聲音。用AVPlayer播放多個音頻文件
這種方法最初我已經採取了創建多個播放器,但它似乎是錯誤的。
什麼是同時播放多個音頻文件的最好方法。
它是通過使他們AVAssets,但在這種情況下,我怎麼會停下來和他們玩,每當我想要的。
非常感謝您的幫助。
我之所以需要AVPlayer是從iPod庫獲取的聲音。
我終於從Apple Dev Team的TechSupport得到了答案,當我決定使用多個AVPlayer時,似乎我走上了正軌。
我試圖在同一時間播放多個聲音。用AVPlayer播放多個音頻文件
這種方法最初我已經採取了創建多個播放器,但它似乎是錯誤的。
什麼是同時播放多個音頻文件的最好方法。
它是通過使他們AVAssets,但在這種情況下,我怎麼會停下來和他們玩,每當我想要的。
非常感謝您的幫助。
我之所以需要AVPlayer是從iPod庫獲取的聲音。
我終於從Apple Dev Team的TechSupport得到了答案,當我決定使用多個AVPlayer時,似乎我走上了正軌。
對於每一個聲音,你想使作出新的AVPlayer。
NSURL *url = [NSURL URLWithString:pathToYourFile];
AVPlayer *audioPlayer = [[AVPlayer alloc] initWithURL:url];
[audioPlayer play];
@大衛莫頓,作爲他自己的問題底部描述的原始帖子,並作爲此答案表明,你會爲每個聲音使用不同的AVPlayer。如果您不需要流式傳輸聲音並可以在沙箱中使用聲音,則可以使用多個AVAudioPlayer實例,這是我的應用程序所做的。 – 2012-07-18 23:18:59
我確實使用了多個實例。故障仍然存在。 – 2012-07-19 22:53:49
嗯,我的解決方案出來的經驗。如果需要,我可以快速製作一個項目。而且,它還需要在斯坦福大學使用MoMu API。它涉及到創建WvIn和WvOut對象來讀取文件。這些對象的音頻樣本只需輸入到輸出緩衝區即可同時播放這些文件。儘管API使用AVFoundation,但在此項目中沒有明確使用AVFoundation。
我從來沒有在這裏回答的問題,我不知道的人仍然在等待一個答案,但是我的繼承人採取...試試這個,它應該工作,我目前使用它來播放12個加同時音頻樣本。我很抱歉,如果我做的事情newbish ..
你按下一個按鈕,並運行此代碼...
但首先,你需要:
然後就...
-(IBAction)playButtonPressed:(id)sender {
NSURL *yourMusicFile;
yourMusicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"your_Song_Name" ofType:@"mp3"]];
myAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];
[myAudio play];
NSLog(@"Button -playButtonPressed- has been pressed!");
}
我敢肯定,多AVAudioPlayers是,如果你必須使用AVAudioPlayers的路要走。只需設置它們並同時觸發它們。請記住釋放任何分配,你應該沒問題。請記住,AVAudio與openAL相比有點慢。 – 2011-06-01 03:43:39
我面對的2名球員的問題在於。一旦我開始玩第二個玩家的時候,第一個玩家會停下來玩一秒,然後繼續玩。 – 2011-06-01 08:57:00
我還沒有嘗試過使用iphone庫實現openAL,但有一個優秀的免費openAL聲音管理器已經設置和優化。看看它是否有所幫助:http://www.71squared.com/2011/01/latest-sound-manager/ – 2011-06-01 14:50:12