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

Posted

技术标签:

【中文标题】在 android 设备上捕获视频并在 iOS 设备上播放【英文标题】:Capture a video on android device and playing it on iOS device 【发布时间】:2014-04-18 00:35:30 【问题描述】:

我正在开发一款适用于安卓和 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);

通过 URL 在 iPhone 中播放视频的代码(直播)

    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;

【问题讨论】:

.mp4 格式支持 android 和 ios。请检查您的防火墙是否阻碍您的系统在 iOS 中播放视频。 youtube 视频是否在 iOS 设备上播放? 感谢您的回复。它的视频可以在安卓设备和网络浏览器上播放。 但无法在 iPhone 上播放视频。 如果浏览器播放您的视频,那么您的视频上传成功。请检查您的网络管理员是否了解您的 iPhone IP 地址 如果从 iPhone 录制的视频可以在 iphone 和 android 设备上播放... 【参考方案1】:

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

【讨论】:

以上是关于在 android 设备上捕获视频并在 iOS 设备上播放的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 设备上捕获视频并将其实时流式传输到服务器(或其他移动设备)

用于从屏幕捕获视频的 iOS 应用

在 iOS 上捕获/分割视频并通过 HLS 重新加入会导致音频丢失

avplayer 不播放通过 IOS Objective-C 中的设备摄像头捕获的视频中的音频

从 YouTube API 仅检索支持移动设备的视频

从 YouTube API 仅检索支持移动设备的视频