从该音频ViewController IOS7返回后如何停止音频

Posted

技术标签:

【中文标题】从该音频ViewController IOS7返回后如何停止音频【英文标题】:How to Stop the Audio After Coming Back From that audio ViewController IOS7 【发布时间】:2014-03-14 14:23:16 【问题描述】:

嗨,当我转到另一个视图控制器时,我正在一个视图控制器中播放音频文件,它仍在播放音频当我们返回另一个视图控制器时如何暂停音频。

   NSString *audioPath = [[NSBundle mainBundle] pathForResource:@"audio" ofType:@"mp3" ];
   NSURL *audioURL = [NSURL fileURLWithPath:audioPath];
   NSError *error;
   self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:&error];
  [self.audioPlayer play];

当我要使用另一个视图控制器时,请告诉我必须在哪里放置音频的暂停代码。

谢谢。

【问题讨论】:

放入deallocviewWillDisappear @Kabira 可以给我代码 【参考方案1】:

在您的 viewController dealloc 方法中添加代码以停止您的音频播放器

 - (void)dealloc 
    if ([self.audioPlayer isPlaying])
       [self.audioPlayer stop];

     [super dealloc]; // call if you are not using ARC
 

如果您要深入了解层次结构,也可以将停止音频代码放在ViewWillDisappear 方法中

【讨论】:

在我的 m 文件中添加此代码后没有 dealloc 函数,它显示的警告方法可能缺少 [super decalloc] 调用

以上是关于从该音频ViewController IOS7返回后如何停止音频的主要内容,如果未能解决你的问题,请参考以下文章

IOS7:Pop ViewController 强制 UIImageView 掉落

返回第一个 ViewController 时如何阻止 AVFoundation 音频重新启动?

AVPlayer(或 AVAudioSession?)在我离开 ViewController 后播放,当我返回两个时播放

iOS 7 中的 ViewController Undo Segue

同一个 Viewcontroller 多次弹出

UIButton 没有在 iOS7 的 UIPageViewController 中的 ViewController 中突出显示