我正在使用AVPlayer
使用以下代码从互联网上播放实时信息流:
NSString *u = @"http://192.192.192.192:8036";
NSURL *url = [NSURL URLWithString:u];
radiosound = [[AVPlayer alloc] initWithURL:url];
[radiosound play];
我有一个按钮播放:
[radiosound play];
和暂停:
[radiosound pause];
我的问题是我只想使用一个按钮播放/暂停,但当我使用此代码时
if (radiosound.isPlaying) {
[radiosound pause];
} else {
[radiosound play];
}
我的应用程序崩溃,因为AVPlayer无法识别“isPlaying”。
任何提示?
答案 0 :(得分:38)
AVPlayer
没有isPlaying
属性。使用rate
属性(0.0表示已停止,1.0正在播放)。
if (radiosound.rate == 1.0) {
[radiosound pause];
} else {
[radiosound play];
}
您可以查看AVPlayer
班级参考here。
答案 1 :(得分:5)
经过一些研究后,我发现当没有网络连接时,AVPlayer
在收到-play
消息后仍然将费率设置为1.0。
因此,我还检查了currentItem并修改了我的方法:
-(BOOL)isPlaying
{
if (self.player.currentItem && self.player.rate != 0)
{
return YES;
}
return NO;
}
如果您认为这种方法有问题,请分享您的意见。