我正在尝试使用 Apple App Thinning功能(从 iOS 9 开始提供),让您可以根据设备架构和功能区分资源。在我的例子中,我想做的是在应用程序包中有一个不同的视频文件(.mp4
格式)一个用于 iPhone,一个用于 iPad 使用 Xcode .xcassets
数据集
。
要从 .xcassets
Data Set
中检索文件,Apple 提供了 NSDataAsset
类,但是:因为 AVPlayer
需要一个 URL
来播放视频,而 NSDataAsset
仅使用 Data
格式提供其内容,我无法播放视频。
我想做的是检索 NSDataAsset
.data
URL
。可能吗?
最佳答案
你可以试试:
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
}
关于ios - 播放使用 NSDataAsset (Xcode xcassets) 存储的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46826085/