【问题标题】:copy video to uipasteboard将视频复制到 uipasteboard
【发布时间】:2014-10-29 14:08:45
【问题描述】:

我已经成功地使用以下代码将图像复制或添加到粘贴板:

if (ver_float < 6.0)
{
    UIPasteboard *pasteboard;
    pasteboard = [UIPasteboard generalPasteboard];
    NSString *filePath =pathToImage;
    [pasteboard setImage:[UIImage imageWithContentsOfFile:filePath]];
}
else
{
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    NSString *filePath =pathToImage;
    NSData *videoData = [NSData dataWithContentsOfFile:filePath];
    [pasteboard setData:videoData forPasteboardType:[UIPasteboardTypeListImage objectAtIndex:0]];

}

NSURL *urlstr = [NSURL URLWithString:@"sms:"];
[[UIApplication sharedApplication] openURL:urlstr];

但我正在制作的应用程序基于图像和视频,因此用户将能够通过 imessage 或 messagecomposer 发送图像/视频。但是因为我已将图像转换为数据并添加到粘贴板中。它正在成功运行并通过 imessage 发送。但我还需要通过 imessage 发送视频。如果有人对此有任何想法,请给我一些建议或解决方案。

非常感谢您的帮助。

【问题讨论】:

  • 将视频转换为数据并像图像一样使用它。你试过了吗?
  • 是的,我尝试过,但无法得到结果...
  • 嘿,这里有一些对我来说很新的东西,真的很好的问题..
  • 是的,但我认为通过粘贴板是不可能的......
  • 嗨@Vishal 我也在研究类似的类型。您是否找到有关如何解决此问题的任何解决方案??

标签: iphone objective-c ios uipasteboard


【解决方案1】:
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://pathto.mp4"]];
UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard];
[pasteBoard setData:data forPasteboardType:@"public.mpeg-4"];

@"public.mpeg-4" 来自http://www.escape.gr/manuals/qdrop/UTI.html

【讨论】:

  • 嗨@Enea,它工作得很好,我也这样做。但是,虽然转换为 NSData 和 setData 到粘贴板确实很慢并且需要一些时间。你知道如何提升它吗?
【解决方案2】:

我在从 SMS 发送音频文件时也遇到了同样的问题。 但是使用当前的 SDK 无法从 SMS 发送视频和音频。 为此,您可以将该视频上传到服务器,然后发送该上传的 URL。

How to programmatically send voicemail message on the iPhone?

【讨论】:

  • 请注意,Enea 的答案是正确的,而接受的答案是错误。您可以按照原始问题中的要求复制到 UIPasteboard,通过 SMS 发送视频。经过测试和验证,可以在 iOS 8+ 上运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
  • 1970-01-01
  • 2012-09-18
  • 1970-01-01
相关资源
最近更新 更多