我正在开发一个应用程序,它可以在线传输音频文件。下面的代码是工作的,但当音频文件结束时,播放按钮不会重置。按钮仍然按下,在用户再次播放音频文件之前,用户必须按该按钮2次。
我的问题是:如何在音频文件结束后自动重新设置播放按钮?
这是我的代码:
-(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];
}
}`
发布于 2014-06-11 15:02:20
将audioPlayer的委托设置为self,并确保指定的ViewController可以接收AVAudioPlayer代理调用。然后实现audioPlayerDidFinishPlaying
方法并调用您的togglePlayPauseTapped
方法:
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
[self togglePlayPauseTapped:nil];
}
总数应该是这样的:
编辑:
并改变这一点
self.audioPlayer = [[AVPlayer alloc] init];
对此:
self.audioPlayer = [[AVAudioPlayer alloc] init];
https://stackoverflow.com/questions/24172589
复制