iOS AVPlayer播放/暂停按钮问题

时间:2011-09-07 19:37:41

标签: ios avplayer

我正在使用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”。

任何提示?

2 个答案:

答案 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;
}

如果您认为这种方法有问题,请分享您的意见。

相关问题