在Android设备上捕获视频并在iOS设备上播放

时间:2014-03-13 10:35:16

标签: android ios iphone objective-c video

我正在开发一个应用程序,它将在平台android和iPhone上。

应用程序是关于录制视频并发布到服务器,用户可以在其应用程序的主页上看到该视频。

我成功录制了视频并将其从iPhone和Android上传到服务器上。视频以base64格式上传到服务器和服务器,将其转换为视频并将其保存在服务器上。

但无法播放从iPhone上的Android录制的视频。从iPhone上录制的视频可以在android中播放。

视频在两个平台上都以.mp4格式录制。

我已粘贴我在Android中录制视频的代码和在iphone中播放视频的代码

如果有人能帮助我,请表示赞赏

在Android中录制视频的代码: -

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
intent.putExtra("android.intent.extra.durationLimit", 7);
intent.putExtra(android.provider.MediaStore.EXTRA_VIDEO_QUALITY,0);

从IP地址(实时流媒体)播放视频的代码

    MPMoviePlayerViewController* movieController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:@"http://journeyappadmin.appealsoft.com//storedata//ExpVideos//420_v635296694326445312.mp4"]];
    movieController.moviePlayer.controlStyle=MPMovieControlStyleFullscreen;
    movieController.view.frame = CGRectMake(0, 0, 320,400);
    [self presentViewController:movieController animated:YES completion:nil];
    [movieController.moviePlayer prepareToPlay];
    [movieController.moviePlayer play];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:movieController];




- (void)moviePlayBackDidFinish:(NSNotification *)notification {

    [[NSNotificationCenter defaultCenter]removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil];

    [movieController dismissModalViewControllerAnimated:YES];

}

错误:

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

1 个答案:

答案 0 :(得分:0)

即使它以扩展名出现,也不是真正的mp4。如此处Can't Play video in android uploaded from iphone和此处的更多解释iPhone recorded video is not playing on Android
所示,您需要更多的编解码器 我遇到.mov iPhone视频无法在Android上播放并使用VLC应用程序解决的相反问题。