我正在制作一个广播流媒体应用程序,我的应用程序运行良好。我的屏幕上有两个按钮,一个用于播放,另一个用于暂停,还有一个指示播放器状态的标签。我让这个标签显示状态“正在播放”或“暂停”没有问题我的问题是当我按下播放按钮时,缓冲区有一段时间正在收集信息,我想不出一种方法来显示“ Buffering..." 播放器开始流式传输音频之前的标签。
这是我用于流式传输广播电台的代码。
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";
}
}
我真的需要解决这个问题,我已经尽我所能来解决它。希望你能帮我!提前致谢。