按主页按钮后播放两次音频

时间:2011-01-20 15:56:33

标签: iphone ipad avaudioplayer

嗨,伙计们,我正在开发一个电子书阅读器。单击图标时需要播放一些音频文件。音频刚刚第一次正常播放..但是,当我按下应用程序的主页按钮并返回音频播放器时,音频正在播放两次......每次按下主页时,数字都会增加1按钮并回到音频播放器....请帮助我输入....通过调试我发现这个循环运行多次...谁能告诉我它的原因??

-(void)StartPlayingFileWithNotification:(NSNotification *)notifcation{
// Load the array with the sample file
NSString *f = [[notifcation userInfo] valueForKey:@"audiopath"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: f];
if(fileURL == nil){
    GLogError(@"%@",@"File Not Found");
    return;
}else {
    GLogInfo(@"%@",@"Got audio file");
}
if (self.player != nil) {
    if (self.player.playing) {
        [self.player stop];
    }
    [player release];
    player = nil;
}

self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];  
if (self.player)
{
    fileName.text = [NSString stringWithFormat: @"%@ (%d ch.)", [[player.url relativePath] lastPathComponent], player.numberOfChannels, nil];
    [self updateViewForPlayerInfo:player];
    player.numberOfLoops = 0;
    player.delegate = self;
    [player play];
    [self updateViewForPlayerState:player];
}
[fileURL release];

}

1 个答案:

答案 0 :(得分:0)

听起来您正在创建包含音频播放器的新视图(或其他对象),而不检查前一个是否仍在运行。您可以在创建另一个之前检查激活,或者在应用程序重新激活时清理旧的激活。