2012-12-22 77 views
1

我正在创建一个应用程序,它将从互联网广播流中直播音频。有没有办法强制AVPlayer音频流始终播放有限的缓冲?

我使用AVPLayer并创建一个AVAudioSession,等等等等......

一切工作正常,除了......还有与AVPlayer,只有[播放]和[暂停]没有[停止]功能。所以当用户暂停这个流时,它会缓冲,当他们点击播放时,它会在他们按下暂停之前停止播放。

问题......有没有办法强制音频流始终播放直播?

我真的不希望任何缓冲超过几秒钟更多...

谢谢您的帮助!

回答

1

如果您不想缓冲,请尝试通过MPMovieviewcontroller播放流媒体直播音频。

它是直播音频/视频的完美播放器。我也使用这个播放器在我的一个

播放现场音频流的应用程序。我认为你的所有要求都与此相符。尝试执行

。这是很容易实现also.Here是我的代码玩使用

MPMovieviewcontroller流音频:

NSURL *fileURL=[NSURL URLWithString:geturl]; 
    NSLog(@"fileURL..%@",fileURL); 
    moviePlayerController = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL]; 
    [moviePlayerController.moviePlayer prepareToPlay]; 
    moviePlayerController.moviePlayer.shouldAutoplay=YES; 
    moviePlayerController.view.frame = self.view.frame; 
    [self presentMoviePlayerViewControllerAnimated:moviePlayerController]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MPMoviePlayerDidExitFullscreen:) name:MPMoviePlayerDidExitFullscreenNotification object:nil]; 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
    [[AVAudioSession sharedInstance] setActive: YES error: nil]; 
    [moviePlayerController.moviePlayer play]; 

- (void)MPMoviePlayerDidExitFullscreen:(NSNotification *)notification 
{ 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                name:MPMoviePlayerDidExitFullscreenNotification 
                object:nil]; 

    [moviePlayerController.moviePlayer stop]; 
    MPMoviePlayerController *player = [notification object]; 
    [[NSNotificationCenter defaultCenter] 
    removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification 
    object:player]; 
    [moviePlayerController dismissMoviePlayerViewControllerAnimated]; 
} 

而对于后台播放我在info.plist中添加这些行。您还添加这些到PList:

enter image description here

+0

维沙尔,谢谢您的建议。你有任何示例代码,所以我可以看到你是如何实现这一点的?苹果文件谈论了很多关于视频和视频的观点。我只需要在后台播放音频。谢谢! – Paul

+0

我编辑我的上面的答案看我如何使用MPMovieviewcontroller播放流音频... – Vishal

+0

也使.m文件中的MPmovieviecontroller适当的属性,并添加它#import 在.m文件中... – Vishal

相关问题