加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 使用相同的按钮播放/暂停[AVAudioPlayer]

发布时间:2020-12-14 19:48:34 所属栏目:百科 来源:网络整理
导读:通过按一次UI按钮一次,可以通过IBAction播放声音,并使用AVAudioPlayer再次按下按钮暂停播放声音?此外,我想改变UIButton的状态,当声音播放时,而不是. 这是我的代码: - (IBAction)Beat{ if ([Media2 isPlaying]) { [Media2 pause]; [Button17 setSelected:NO
通过按一次UI按钮一次,可以通过IBAction播放声音,并使用AVAudioPlayer再次按下按钮暂停播放声音?此外,我想改变UIButton的状态,当声音播放时,而不是.

这是我的代码:

- (IBAction)Beat
{
    if ([Media2 isPlaying])
    {
        [Media2 pause];
        [Button17 setSelected:NO];
    }

    else
    {
        Path = [[NSBundle mainBundle] pathForResource:@"Beat" ofType:@"mp3"];
        AVAudioPlayer *Media2 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:Path] error:NULL];
        [Media2 setDelegate:self];
        [Media2 play];
        [Button17 setSelected:YES];
    }
}

解决方法

这是使用BOOL变量的简单方法.

在playDidLoad中设置播放= NO.

-(void)PlayStop{    
    if (playing==NO) {
        // Init audio with playback capability
        [play setBackgroundImage:[UIImage imageNamed:@"hmpause.png"] forState:UIControlStateNormal];

        AVAudioSession *audioSession = [AVAudioSession sharedInstance];
        [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];

        audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:______ error:&err];
        [audioPlayer prepareToPlay];

        audioPlayer.delegate=self;
        [audioPlayer play];

        playing=YES;
    }
    else if(playing==YES){
        [play setBackgroundImage:[UIImage imageNamed:@"Audioplay.png"] forState:UIControlStateNormal];

        [audioPlayer pause];

        playing=NO;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读