【问题标题】:Problems with AVAudioPlayer in multiView app多视图应用程序中的 AVAudioPlayer 问题
【发布时间】: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.
}

【问题讨论】:

    标签: xcode avaudioplayer


    【解决方案1】:

    这绝对是 AVAudioPlayer 发布的一些问题。您可以尝试在发布后的行中添加:

    self.bmvc.audioPlayer = nil;

    顺便说一句:不太明白为什么最后一行有 [super viewDidLoad]。它应该是方法的第一行。

    【讨论】:

      最近更新 更多