Lun*_*una 7 iphone xcode objective-c mpmovieplayercontroller ios
MPMoviePlayerController 几秒后停止播放,这是我正在使用的代码:
NSString *urlAddress = @"http://67.159.28.74:8730";
NSURL *url = [NSURL URLWithString:urlAddress];
MPMoviePlayerController *player = [[MPMoviePlayerController alloc]initWithContentURL:url];
player.movieSourceType = MPMovieSourceTypeStreaming;
player.view.hidden = NO;
[self.view addSubview:player.view];
[player prepareToPlay];
if(player){
[player play];
}
Run Code Online (Sandbox Code Playgroud)
进入控制台的错误是:
2012-09-23 18:07:56.618 Reader[696:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-09-23 18:07:56.619 Reader[696:c07] [MPAVController] Autoplay: Disabling autoplay
2012-09-23 18:07:56.638 Reader[696:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-09-23 18:07:56.638 Reader[696:c07] [MPAVController] Autoplay: Disabling autoplay
2012-09-23 18:07:56.643 Reader[696:c07] [MPAVController] Autoplay: Enabling autoplay
2012-09-23 18:07:56.645 Reader[696:c07] [MPAVController] Autoplay: Likely to keep up or full buffer: 0
2012-09-23 18:07:56.646 Reader[696:c07] [MPAVController] Autoplay: Skipping autoplay, not enough buffered to keep up.
2012-09-23 18:07:56.648 Reader[696:c07] [MPAVController] Autoplay: Likely to keep up or full buffer: 0
2012-09-23 18:07:56.648 Reader[696:c07] [MPAVController] Autoplay: Skipping autoplay, not enough buffered to keep up.
2012-09-23 18:07:56.650 Reader[696:c07] [MPAVController] Autoplay: Enabling autoplay
2012-09-23 18:07:56.652 Reader[696:c07] [MPCloudAssetDownloadController] Prioritization requested for media item ID: 0
2012-09-23 18:07:58.746 Reader[696:c07] [MPAVController] Autoplay: Likely to keep up or full buffer: 0
2012-09-23 18:07:58.746 Reader[696:c07] [MPAVController] Autoplay: Skipping autoplay, not enough buffered to keep up.
2012-09-23 18:07:58.747 Reader[696:c07] [MPAVController] Autoplay: _streamLikelyToKeepUp: 0 -> 1
2012-09-23 18:07:58.748 Reader[696:c07] [MPAVController] Autoplay: Likely to keep up or full buffer: 1
2012-09-23 18:07:58.748 Reader[696:c07] [MPAVController] Autoplay: Enabling autoplay`
Run Code Online (Sandbox Code Playgroud)
解决了它:
我把我的MPMoviePlayerController变成了一个属性:
//添加标题
@property (strong,nonatomic) MPMoviePlayerController *myPlayer;
Run Code Online (Sandbox Code Playgroud)
//添加.m文件
- (IBAction)playStream:(id)sender {
NSString *urlAddress = @"http://67.159.28.74:8730";
NSURL *url = [NSURL URLWithString:urlAddress];
MPMoviePlayerController *player = [[MPMoviePlayerController alloc]initWithContentURL:url];
[player prepareToPlay];
//Remember you have to add MediaPlayer.framework to your project
/*[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];*/
player.movieSourceType = MPMovieSourceTypeStreaming;
player.view.hidden = YES;
self.myPlayer = player;
[self.view addSubview:self.myPlayer.view];
if(player){
[self.myPlayer play];
}
}
Run Code Online (Sandbox Code Playgroud)
小智 8
你必须像这样设置一个类变量:
@property (nonatomic, retain) MPMoviePlayerController *moviePlayer;
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样:
NSURL *theUrl = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"mp4"];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theUrl];
[moviePlayer prepareToPlay];
[moviePlayer.view setFrame: self.view.bounds];
moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[self.view addSubview: moviePlayer.view];
[moviePlayer play];
Run Code Online (Sandbox Code Playgroud)
这对我来说很完美!
小智 1
您可以在实例化播放器后尝试执行此操作:
[player prepareToPlay]
更多信息请参见:iOS 6 流媒体播放器 com.apple.coremedia.networkbuffering bug
| 归档时间: |
|
| 查看次数: |
13135 次 |
| 最近记录: |