2011-09-21 62 views
0

我想在我的應用程序中使用AVAudioPlayer。其邏輯是:首先同時播放一組聲音,然後播放另一組聲音。但我發現該應用只能播放所有這些集合,並且不能一個一個地播放。作爲一個更新的,我發現它是難以理解,任何人有想法?感謝你的幫助和想法。使用AVAudioPlayer逐個播放一組聲音

+0

你可以發佈一段簡短的代碼相關部分嗎? – zoul

回答

1

使用委託方法來識別第一首歌曲的整理,然後在該方法中開始新歌。

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag 
{ 
    //play next song from List/Array of songs. 
} 

播放歌曲AVAudioPlayer代碼如下。

NSString* filename = [soundsList objectAtIndex:YOURINDEXNUMBER]; 
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:@"mp3"]; 

AVAudioPlayer * newAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
self.theAudio = newAudio; // automatically retain audio and dealloc old file if new file is loaded 

[newAudio release]; // release the audio safely 

theAudio.delegate = self; 
[theAudio prepareToPlay]; 
[theAudio setNumberOfLoops:0]; 
[theAudio play]; 
+0

是的,感謝你的想法。我知道你的想法對另一個人發出一種聲音很有用。但是我想通過另一個人同時演奏一組聲音,你有沒有實際的想法? –

+0

然後你可以創建另一個新的實例來播放歌曲。但是你的意思是你想同時玩2臺? – DShah

+0

什麼?有可能用一組聲音來創建實例,而不僅僅是單個聲音?瘋!不,我想一個接一個地播放幾組聲音,但正如你所知,一組聲音包含許多單獨的聲音。你能否與我分享關於用一組聲音創建一個實例的詳細想法?我會很感激! –

相關問題