在iOS中返回View Controller时停止播放音频

时间:2015-06-18 05:34:44

标签: ios objective-c iphone audio avfoundation

我在我的应用中播放播放列表中的音频。我在viewDidLoad函数中使用以下代码: -

    NSURL *url = [NSURL URLWithString:FeedLink];
    NSData *_objectData = [NSData dataWithContentsOfURL:url];
    NSError *error;

    audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
    audioPlayer.delegate = self;
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
    [[AVAudioSession sharedInstance] setActive: YES error: nil];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    audioPlayer.numberOfLoops =  0;

在播放按钮上播放音频,它在背景中或在我去另一个班级时播放得很好。

问题是,当我回到此视图控制器并选择另一个音频时,之前的播放音频不会停止。两者同时播放。

任何人都可以帮助我,当我从花药视图控制器返回viewDidLoad时,它会停止播放音频并且一次只播放一个。提前致谢

2 个答案:

答案 0 :(得分:0)

在您正在播放音频的类的viewwillappear中使用下面的代码。然后当您回到该类时播放停止。

-(void)viewwillappear{
    [audioPlayer stop];
}

答案 1 :(得分:0)

在播放任何音频文件之前,添加一个正在播放的音频文件的检查。

为此添加以下代码。

if(audioPlayer.isPlaying){
[audioPlayer stop];
}

然后播放下一个音频文件。

相关问题