首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AVPlayer -如何重置播放按钮

AVPlayer -如何重置播放按钮
EN

Stack Overflow用户
提问于 2014-06-11 21:06:44
回答 1查看 1.2K关注 0票数 0

我正在开发一个应用程序,它可以在线传输音频文件。下面的代码是工作的,但当音频文件结束时,播放按钮不会重置。按钮仍然按下,在用户再次播放音频文件之前,用户必须按该按钮2次。

我的问题是:如何在音频文件结束后自动重新设置播放按钮?

这是我的代码:

代码语言:javascript
运行
复制
-(IBAction)togglePlayPauseTapped:(id)sender
    {
        if(self.togglePlayPause.selected) {
            [self.audioPlayer pause];
            [self.togglePlayPause setSelected:NO];
        } else {
            [self.audioPlayer play];
            [self.togglePlayPause setSelected:YES];

            self.audioPlayer = [[AVPlayer alloc] init];
            NSString *urlString = @"MYURL";
            NSURL* urlStream = [NSURL URLWithString:urlString];
            AVPlayerItem * currentItem = [AVPlayerItem playerItemWithURL:urlStream];

            [self.audioPlayer replaceCurrentItemWithPlayerItem:currentItem];
            [self.audioPlayer play];




        }

    }`
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-11 23:02:20

将audioPlayer的委托设置为self,并确保指定的ViewController可以接收AVAudioPlayer代理调用。然后实现audioPlayerDidFinishPlaying方法并调用您的togglePlayPauseTapped方法:

代码语言:javascript
运行
复制
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
    [self togglePlayPauseTapped:nil];
}

总数应该是这样的:

编辑:

并改变这一点

代码语言:javascript
运行
复制
self.audioPlayer = [[AVPlayer alloc] init];

对此:

代码语言:javascript
运行
复制
self.audioPlayer = [[AVAudioPlayer alloc] init];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24172589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档