【问题标题】:video don't play with MPMoviePlayerController视频不使用 MPMoviePlayerController 播放
【发布时间】:2012-09-03 17:39:12
【问题描述】:

我想获取 iPhone 中视频的总时长。我正在使用以下代码来获取持续时间

videoPath = [videoPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:videoPath];
MPMoviePlayerController *mpPlayer = [[[MPMoviePlayerController alloc] initWithContentURL:url] autorelease]; 
mpPlayer.view.frame = CGRectMake(0, 0, 320, 100);
[self.view addSubview:mpPlayer.view];
NSLog(@"duration = %f",mpPlayer.duration);
[mpPlayer play];

但我不知道为什么我无法获得视频的持续时间,而且视频也无法播放。 谁能帮我找到这个问题的解决方案。

提前致谢。

【问题讨论】:

  • 你检查答案了吗?其中任何一个解决了您的问题吗?如果是这样,请检查答案左侧的灰色复选标记。

标签: iphone objective-c video mpmovieplayercontroller


【解决方案1】:

提示:

在实际播放之前,持续时间可能不可用 -> 在收到MPMoviePlayerPlaybackStateDidChangeNotification 时再次检查持续时间(为安全起见,MPMoviePlayerController.playbackState == MPMoviePlaybackStatePlaying)

【讨论】:

    【解决方案2】:

    请检查视频的路径是否正确,并检查播放器是否分配了正确的文件url

    【讨论】:

    • 我已经检查了视频路径是否完美并且播放器也已分配
    【解决方案3】:
        videoPath = [videoPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        NSURL *url = [NSURL URLWithString:videoPath];
        MPMoviePlayerController *mpPlayer = [[[MPMoviePlayerController alloc] initWithContentURL:url] autorelease]; 
        mpPlayer.view.frame = CGRectMake(0, 0, 320, 100);
        [self.view addSubview:mpPlayer.view];
        NSLog(@"duration = %f",mpPlayer.duration);
        [mpPlayer play];
    
    //add notifications
    
    
      [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MPMoviePlayerLoadStateDidChange:) name:MPMoviePlayerLoadStateDidChangeNotification object:nil];
    
    - (void)MPMoviePlayerLoadStateDidChange:(NSNotification *)notification {
    
        if ((moviePlayer.loadState & MPMovieLoadStatePlaythroughOK) == MPMovieLoadStatePlaythroughOK) {
    duration = mpPlayer.duration;
    NSLog(@"duration = %f",mpPlayer.duration);
    }
    }       
    

    【讨论】:

      猜你喜欢
      • 2012-11-29
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 2014-02-07
      相关资源
      最近更新 更多