2012-03-07 226 views
0

我一直在使用以下功能來播放聲音。按下按鈕時播放音頻

- (void) playFile:(NSString *)nameOfFile 
{ 
    NSString *tmpFileName = [[NSString alloc] initWithFormat:nameOfFile]; 
    NSString *fileName = [[NSBundle mainBundle] pathForResource:tmpFileName 
                 ofType:@"mp3"]; 

    SystemSoundID soundID; 
    AudioServicesCreateSystemSoundID((__bridge_retained CFURLRef) 
    [NSURL fileURLWithPath:fileName], &soundID); 
    AudioServicesPlaySystemSound (soundID);  
} 

我注意到,如果再次按下調用此按鈕的按鈕,聲音只會播放現有播放聲音的頂部。我如何增加這段代碼來阻止聲音再次播放,而是「重新啓動」播放文件?我應該使用不同的API播放聲音嗎?

+0

附:我很感激它可能是一個愚蠢的問題:( – Martin 2012-03-07 15:44:46

回答

0

您可以使用AVAudioPlayer要做到這一點,就分配它在你的init/viewDidLoad中那麼當按鈕被按下這樣做:

[self.player stop] 
self.player.currentTime=0; 
[self.player play];