【问题标题】:Play Video In MPMoviePlayerController在 MPMoviePlayerController 中播放视频
【发布时间】:2012-05-02 04:55:31
【问题描述】:

我在使用 MPMoviePlayerController 播放嵌入的视频文件时遇到问题。我的代码:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];

NSString *proud = [[documentsDirectoryPath stringByAppendingPathComponent:@"archives"] stringByAppendingPathComponent:selectedCountry];

NSString *content = [proud stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];    
NSURL *url = [[NSURL fileURLWithPath:content] retain];   

NSLog(@"%@", url);
player =

[[MPMoviePlayerController alloc] initWithContentURL: url];

[player prepareToPlay];

player.allowsAirPlay = YES;
player.scalingMode = MPMovieScalingModeAspectFit;

player.view.frame = self.view.frame;

[self.view addSubview: player.view];
[player setFullscreen:YES animated:YES];

// ...

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

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitedFullscreen:) name:MPMoviePlayerDidExitFullscreenNotification object:player];


[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(moviePlayerWillExitFullscreen:)
                                             name:MPMoviePlayerWillExitFullscreenNotification
                                           object:player];


[player play];

NSLog 返回

var/mobile/Applications/EF62B00B-2906-435C-BC84-036FE14D89E9/Documents/archives/Test%2520-%2520Daddy%2520May%25201%252001:26:35%2520PM.mp4

但视频从不播放,尽管我在 MPMoviePlayerController MovieFinished 回调中使用的日志确实触发了 MovieDone。有什么想法吗?

【问题讨论】:

    标签: iphone video mpmovieplayercontroller


    【解决方案1】:

    我认为你只播放视频文件然后试试这个代码:

    NSString *urlStr=[[NSBundle mainBundle]pathForResource:@"Video1VoiceOver.mp4" ofType:nil];
    NSURL *url = [NSURL fileURLWithPath:urlStr];
    moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
    [self.view addSubview:moviePlayer.view];
    moviePlayer.view.frame = CGRectMake(174,154,720,428);  
    [moviePlayer play];
    
    
    
    
    [[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(moviePlayBackDidFinish) 
                                                 name:MPMoviePlayerPlaybackDidFinishNotification 
                                               object:nil];
    

    【讨论】:

      【解决方案2】:

      试试这个

      MPMoviePlayerViewController *playerViewController =[[MPMoviePlayerViewController alloc]initWithContentURL:[NSURL fileURLWithPath:@"FileName"]];
      
      [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:)name:MPMoviePlayerPlaybackDidFinishNotification object:[playerViewController moviePlayer]];
      playerViewController.view.frame=CGRectMake(Set the frame);
      [self.view addSubview:playerViewController.view];
      //---play movie---
      
      player = [playerViewController moviePlayer];
      

      【讨论】:

        猜你喜欢
        • 2012-11-29
        • 2013-10-10
        • 2012-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-18
        • 1970-01-01
        相关资源
        最近更新 更多