2011-09-21 66 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

什么?有可能用一组声音来创建实例,而不仅仅是单个声音?疯!不,我想一个接一个地播放几组声音,但正如你所知,一组声音包含许多单独的声音。你能否与我分享关于用一组声音创建一个实例的详细想法?我会很感激! –