2011-03-18 17 views
3

我正在使用MPMoviePlayerController來播放iPhone中的視頻,現在我希望在視圖的一個小區域(而不是全屏)播放此視頻。我認爲有框架的方式,但我找不到所需的教程。你有沒有穿過任何?那太好了。iOS4 MPMoviePlayerController嵌入

修訂


我已經達到了這一點,但它仍然沒有顯示玩家在屏幕上播放。

-(IBAction)startVideo { 
    //start video here 
    NSURL *path = [[NSURL alloc] initWithString:[self localVideoPath:NO]]; 

    // Create custom movie player 
    MPMoviePlayerController *moviePlayer = [[[MPMoviePlayerController alloc] initWithContentURL:path] autorelease]; 

    [moviePlayer setScalingMode:MPMovieScalingModeAspectFill]; 
    [moviePlayer setControlStyle:MPMovieControlStyleNone]; 
    [moviePlayer setFullscreen:FALSE]; 

    // May help to reduce latency 
    [moviePlayer prepareToPlay]; 

    [[NSNotificationCenter defaultCenter] 
     addObserver:self 
     selector:@selector(onMSAASDone:) 
     name:MPMoviePlayerPlaybackDidFinishNotification 
     object:moviePlayer]; 


    //---play partial screen--- 
    //moviePlayer.view.frame = CGRectMake(0, 0, 200, 300); 
    moviePlayer.view.frame = image.frame; 
    //[[moviePlayer view] setFrame: [image bounds]]; 

    [image removeFromSuperview]; 

    [self.view addSubview:moviePlayer.view]; 

    // Show the movie player as modal 
    //[self presentModalViewController:moviePlayer animated:YES]; 

    // Prep and play the movie 
    [moviePlayer play]; 
} 
+0

順便說一句 - 那是什麼,你已經設置了onMSAASDone功能的意圖被稱爲當視頻完成(NSNotificationCenter撥打以上)?只是好奇,因爲我正在設置類似的東西,所以想了解你爲這個功能計劃了什麼。在我的實施中,我需要爲下一個視頻設置滾動位置,並在當前視頻完成後立即啓動... – CoolDocMan 2013-07-17 03:54:07

回答

2

這裏是「窗」代碼...

MPMoviePlayerController *player = 
[[MPMoviePlayerController alloc] 
initWithContentURL:[NSURL fileURLWithPath:url]]; 

[player setControlStyle:MPMovieControlStyleNone]; 

[[NSNotificationCenter defaultCenter] 
addObserver:self 
selector:@selector(movieFinishedCallback:) 
name:MPMoviePlayerPlaybackDidFinishNotification 
object:player]; 
[player setScalingMode:MPMovieScalingModeAspectFill]; 
[player setFullscreen:FALSE]; 

//---play partial screen--- 
player.view.frame = CGRectMake(0, 0, 200, 300); 
[self.view addSubview:player.view]; 
+0

我在觸摸圖像時將此代碼保留在觸摸事件廣告中給XCode一些錯誤和焦點給「GDB:編程接收到的信號:'EXC_BAD_ACCESS'」 – Neutralizer 2011-03-24 16:56:24

+0

Umair,你應該嘗試學習使用調試器 - >檢查堆棧,檢查控制檯 - >會有更多的信息,而不只是一個EXC_BAD_ACCESS。 – Till 2011-03-24 20:25:49

+0

好的,這是我的錯誤,現在並沒有給出這樣的錯誤。雖然該應用程序運行,當我點擊圖像時,它不顯示播放器。 – Neutralizer 2011-03-25 13:24:31