多视图应用程序中的 AVAudioPlayer 问题
Posted
技术标签:
【中文标题】多视图应用程序中的 AVAudioPlayer 问题【英文标题】:Problems with AVAudioPlayer in multiView app 【发布时间】:2011-08-26 09:41:29 【问题描述】:在我的应用程序中,我有 2 个视图:在 1-st 中有一个带有音频文件的 tableview。何时触摸单元格 AVAudioPlayer 开始播放。当我进入 2-nd 视图时 AVAudioPlayer 继续播放,当我返回 1-st 视图时继续播放。但是从这一刻开始出现问题:当我触摸其他单元格时开始播放这首曲目和上一首曲目,当我再次触摸时同时播放 3 首曲目。所以我的按钮“播放/暂停”在此之后工作不正确。我该如何解决这个错误?在每个 viewDidLoad 中,我创建 AVAudioPlayer 的新对象并为其分配前一个对象的值
(void)viewDidLoad
[self.traxbax.avAudioPlayer stop];
audioPlayer=self.traxbax.avAudioPlayer;
[self.traxbax.avAudioPlayer release];
[audioPlayer play];
(void)viewDidLoad
[self.bmvc.audioPlayer stop];
avAudioPlayer=self.bmvc.audioPlayer;
[self.bmvc.audioPlayer release];
[avAudioPlayer play];
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
【问题讨论】:
【参考方案1】:这绝对是 AVAudioPlayer 发布的一些问题。您可以尝试在发布后的行中添加:
self.bmvc.audioPlayer = nil;顺便说一句:不太明白为什么最后一行有 [super viewDidLoad]。它应该是方法的第一行。
【讨论】:
以上是关于多视图应用程序中的 AVAudioPlayer 问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的应用程序的所有视图中管理 AVAudioplayer
离开视图后无法使用 AVAudioPlayer 播放 AVAudioRecorder
AVAudiorecorder 和 AVAudioPlayer 并不总是播放声音