如何在 iOS 上分享 .avi 视频
Posted
技术标签:
【中文标题】如何在 iOS 上分享 .avi 视频【英文标题】:How to share .avi video on iOS 【发布时间】:2015-08-06 08:06:22 【问题描述】:我目前正在从事 IP 摄像机项目。其中一项功能是您可以从摄像机下载和查看记录。您从相机中获得一个 url,下载文件并在应用程序中使用 VLC 播放它。 但是,这些文件是 .avi 格式,iTunes 不支持。是否仍然可以共享 .avi 文件?当我使用以下代码时:
NSString *urlToDownload = [NSString stringWithFormat:@"%@localhost:%@%@", self.activeRecording.urlProtocol, self.activeCamera.localPort, self.activeRecording.urlQuery];
NSString *fullPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[urlToDownload lastPathComponent]];
NSURL *videoUrl = [NSURL URLWithString:fullPath];
self.activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[videoUrl] applicationActivities:nil];
[self presentViewController:self.activityViewController animated:YES completion:nil];
网址是正确的,因为我可以用它来观看录音。当共享菜单打开时,它只显示“其他”作为选项。我希望能够在 Facebook 和其他东西上分享视频,但至少能够使用分享按钮通过电子邮件发送视频。谁能帮帮我?
tl;dr:想要分享 .avi 视频,不工作。
【问题讨论】:
如果你尝试 NSString *urlStr = [videoUrl absoluteString];并尝试将其作为活动项传递? 很困惑你的问题是什么。 iTunes 和 ios ??? @MikeStrand 如果我将它作为活动项目传递,我只会在我的邮件/facebook/其他选项中看到这个:/private/var/mobile/Containers/Data/Application/00E83A35-1C29- 48B7-90C8-F567C5392BBD/tmp/951e33ead6f981e23f32d495a8028d6dfe8e1587bd18d0d15f0eb4338b30b301.avi @user523234 iOS 有分享按钮,它有一些默认功能。我想用它来共享电影文件,但它的格式无法被 iTunes/iOS (.avi) 识别。我想知道是否还有办法分享这个,因为 Facebook 和电子邮件应该支持这种格式。 【参考方案1】:我目前的解决方案是只允许使用以下代码通过电子邮件共享此内容:
NSString *urlToDownload = [NSString stringWithFormat:@"%@localhost:%@%@", self.activeRecording.urlProtocol, self.activeCamera.localPort, self.activeRecording.urlQuery];
NSString *fullPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[urlToDownload lastPathComponent]];
NSData *video = [NSData dataWithContentsOfFile:fullPath];
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:[NSString stringWithFormat:NSLocalizedString(@"%@ recording", @"-name- recording"), self.activeRecording.name]];
[picker addAttachmentData:video mimeType:@"video/avi" fileName:@"recording.avi"];
[self presentViewController:picker animated:YES completion:nil];
如果有人能找到更好的解决方案,那就太好了。
【讨论】:
你终于找到更好的解决方案了吗? 不。苹果在这方面非常严格。自从我上次研究它以来可能已经发生了变化,因为它已经过去了一两年了,但我至少没有听到任何消息。以上是关于如何在 iOS 上分享 .avi 视频的主要内容,如果未能解决你的问题,请参考以下文章