2012-03-07 229 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];