播放使用NSDataAsset存储的视频(Xcode xcassets)

时间:2017-10-19 08:51:10

标签: ios asset-catalog app-thinning

我正在尝试使用Apple App Thinning功能(可从iOS 9获得),该功能可让您根据设备架构和功能区分资源。在我的情况下,我想要做的是在应用程序包中使用不同的视频文件(.mp4格式),一个用于iPhone,另一个用于iPad,使用Xcode .xcassets Data Set

要从.xcassets Data Set Apple检索文件,请提供NSDataAsset课程,但是:由于AVPlayer需要URL才能播放视频,{ {1}}仅使用NSDataAsset格式提供其内容,我无法播放该视频。

我想要检索Data NSDataAsset .data。有可能吗?

1 个答案:

答案 0 :(得分:-1)

您可以尝试:

NSDataAsset *videosDataAsset = [[NSDataAsset alloc] initWithName:@"AssetName"];
NSData *data = videosDataAsset.data;
NSString *filename = @"FileToSaveInto.mp4";
NSURL *URL = [[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject] URLByAppendingPathComponent:filename];

if ([data writeToURL:URL atomically:YES]) {
    // run player
}