我正在使用键盘扩展开发自定义键盘。
我想将资源从我的资源文件夹复制到UIPasteboard。为此,我使用下面的代码,但没有运气
NSBundle *bundle = [NSBundle mainBundle];
NSString *moviePath = [bundle pathForResource:@"SampleVideo_1280x720_1mb" ofType:@"mp4"];
NSURL *movieURL = [NSURL fileURLWithPath:moviePath];
NSData *data = [NSData dataWithContentsOfURL:movieURL];
[[UIPasteboard generalPasteboard]setPersistent:YES];
[[UIPasteboard generalPasteboard] setData:data forPasteboardType:(NSString *)kUTTypeVideo];
你能帮帮我吗?
还有一件事可能吗?
提前致谢。
答案 0 :(得分:0)
您正在使用的pasteboardType(kUTTypeVideo)适用于没有声音的电影类型。这不行。如果您使用该pasteboardType将mp4文件复制到粘贴板,然后说,将其粘贴到iMessage聊天字段中,它将显示它是一种未知且无法播放的格式。
相反,请使用kUTTypeQuickTimeMovie或kUTTypeMPEG4。这将有效。
此外,无需setPersistent为Yes;这是一般的粘贴板,它是一个超越任何应用程序的时空的系统粘贴板,因此您不需要这样做。 :)
答案 1 :(得分:0)
试试这段代码。它对我有用。
let pb = UIPasteboard.generalPasteboard()
let url: NSURL = NSBundle.mainBundle().URLForResource("\(tempArray[indexPath.row])", withExtension: "mp4")!
let data1: NSData = try! NSData(contentsOfURL: url, options: NSDataReadingOptions.DataReadingMappedIfSafe)
let data: NSData = NSData(contentsOfURL: url)!
print(data)
pb.persistent = true
pb.setData(data1, forPasteboardType: "public.mpeg-4")
如果您想从NSBundle
获取视频的网址,则需要在本地添加视频。