我正在制作一个无线电流媒体应用程序,我的应用程序工作正常。我的屏幕上有两个按钮,一个用于播放,另一个用于暂停,另外还有一个标签,用于指示播放器的状态。我没有任何问题,使这个标签显示状态“正在播放”或“已暂停”我的问题是,当我按下播放按钮有一个时间缓冲区正在收集信息,我不能找出一种方式来显示“缓冲......“标签,然后播放器开始流式传输音频。使用MPMoviePlayer缓冲流中的标签
这是用于流式广播电台的代码。
NSString *url = [NSString stringWithFormat:@"http://66.7.218:8816"];
player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:url]];
player.movieSourceType = MPMovieSourceTypeStreaming;
player.view.hidden = YES;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance]setActive:YES error:nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[player prepareToPlay];
[player play];
我使用了一个函数,我创建了一个名为changeStatus的函数,每秒调用一次该函数来标识播放器的状态。
-(void)changeStatus
{
if (player.loadState == MPMovieLoadStateUnknown) {
status.text = @"Buffering...";
}
if(player.playbackState == MPMoviePlaybackStatePlaying)
{
status.text = @"Playing.";
}
if(player.playbackState == MPMoviePlaybackStatePaused)
{
status.text = @"Paused";
}
}
我真的需要解决这个问题,我尽我所能解决它。希望你能帮我!提前致谢。
嗨,我正面临一个问题。在我的情况下,播放器处于缓冲状态时,播放状态为MPMoviePlaybackStatePaused。我从来没有得到MPMoviePlaybackStateInterrupted状态。请帮助我。 – HarshIT