2014-06-10 71 views
0

當我嘗試保存在Xcode項目上的視頻時,它工作。 然後當我用URL改變了它,它總是返回該錯誤:MPMoviePlayerController功能錯誤

_itemFailedToPlayToEnd: { 
kind = 1; 
new = 2; 
old = 0; 

}

這裏是我的代碼:

NSURL *url = [NSURL fileURLWithPath:@"https://m.youtube.com/watch?v=9MNAeGWd_04"]; 

movieController = [[MoviePlayerVC alloc]initWithContentURL:url]; 
movieController.view.frame = self.view.bounds; 
[movieController.moviePlayer setShouldAutoplay:YES]; 

[movieController.moviePlayer setControlStyle:MPMovieControlStyleFullscreen]; 
[[movieController view] setTransform:CGAffineTransformMakeRotation(M_PI/2)]; 
[self presentViewController:movieController animated:NO completion:nil]; 
[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(playbackStateDidChange:) 
              name:@"MPAVControllerPlaybackStateChangedNotification" 
              object:nil]; 

回答

1

fileURLWithPath:預計本地路徑URL - /User/blah/blah.mp3

嘗試使用[NSURL URLWithString:@"https://m.youtube.com/watch?v=9MNAeGWd_04"]

+0

還是同樣的錯誤。 – Iman

+0

實際上是正確的,你不能在MPMoviePlayer播放youtube視頻...檢查http://stackoverflow.com/questions/1779511/play-youtube-videos-with-mpmovieplayercontroller-instead-of-uiwebview以供參考 –

1

如果你打從URL那就試試這個

-(void)playFromLiveUrl 
{ 

     NSURL *aUrl = [NSURL URLWithString:@"*YOUR URL*"]; 
     _moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:aUrl]; 
     _moviePlayer.controlStyle = MPMovieControlStyleNone; 
     _moviePlayer.shouldAutoplay = YES; 
     _moviePlayer.view.frame = asyvideoImage.frame; 
     _moviePlayer.scalingMode=MPMovieScalingModeFill; 
     [self.view addsubview _moviePlayer.view]; 
     [_moviePlayer prepareToPlay]; 
     [_moviePlayer setFullscreen:NO animated:NO]; 

} 

如果您在使用本地文件然後用這個

-(void)playFromLocal 
{ 

     _moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:@"** LOCAL PATH ** "]]; 
     _moviePlayer.controlStyle = MPMovieControlStyleNone; 
     _moviePlayer.shouldAutoplay = YES; 
     _moviePlayer.view.frame = asyvideoImage.frame; 
     _moviePlayer.scalingMode=MPMovieScalingModeFill; 
     [self.view addsubview _moviePlayer.view]; 
     [_moviePlayer prepareToPlay]; 
     [_moviePlayer setFullscreen:NO animated:NO]; 

} 
+0

它只打開黑屏。 – Iman

+0

你必須在上面的代碼中添加視頻網址。 –

+0

是的,我添加了這個URL「https://m.youtube.com/watch?v=9MNAeGWd_04」,我將「asyvideoImage.frame」改爲CGRectmake(0, 0,320,548) – Iman

1

MPMoviewPlayerController無法獲取您的格式。您嘗試加載與youTube鏈接MPMoviePlayerController,它不會工作(因爲你可以看到:)

Here你可以找到iPhone視頻格式支持。

嘗試加載MoviePlayer這樣的事情(例如.m3u8格式):

[movieController setContentURL:[NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"]]; 
0

MPMoviePlayerController不能播放Flash YouTube網址。改爲使用Web視圖。 iOS上的UIWebView足夠智能地播放YouTube內容。

你可以看到視頻格式MPMoviePlayerAVFoundation支持here