目标C语言 如何显示暂停按钮,如果用户点击播放按钮在AVAudioPlayer在ios



您好,我正在根据我的项目需求开发AVAudioplayer。我正在创建音频播放器编程。我想显示暂停按钮,如果用户点击播放按钮。我写了一些代码。但暂停按钮不应该显示,如果我点击播放按钮。所以请大家帮帮我。提前谢谢。

-(void)viewDidLoad
{
playButton=[[UIButton alloc]init];
playButton.frame=CGRectMake(125, 120, 29, 29);
playButton.backgroundColor=[UIColor clearColor];
playbackgroundImage=[UIImage imageNamed:@"play.png"];
[playButton setImage:playbackgroundImage forState:UIControlStateNormal];
[playButton addTarget:self action:@selector(playOrPauseButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:playButton];
}
-(void)playOrPauseButtonPressed:(id)sender
{
if(playing==NO)
{
      [playButton setBackgroundImage:[UIImage imageNamed:@"Pause.png"] forState:UIControlStateNormal];
// Here Pause.png is a image showing Pause Button.
NSError *err;
AVAudioSession *audioSession=[AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
NSData *data=[NSData dataWithContentsOfURL:url];
audioPlayer=[[AVAudioPlayer alloc]initWithData:data error:&err];
[audioPlayer prepareToPlay];
audioPlayer.delegate=self;
[audioPlayer play];
playing=YES;
}
else if (playing==YES)
{
[playButton setBackgroundImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
[audioPlayer pause];
playing=NO;
}
}

问题是您第一次设置Setimage并且在playOrPauseButtonPressed上您正在设置SetBackgroundImage。所以在viewDidLoad

中替换此方法
 [playButton setBackgroundImage:playbackgroundImage forState:UIControlStateNormal];

最新更新