【问题标题】:Play a video stored using NSDataAsset (Xcode xcassets)播放使用 NSDataAsset (Xcode xcassets) 存储的视频
【发布时间】:2018-03-31 06:24:01
【问题描述】:

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

要从.xcassets Data Set 检索文件,Apple 提供了NSDataAsset 类,但是:因为AVPlayer 需要URL 来播放视频,而NSDataAsset 仅使用Data 提供其内容格式,我无法播放视频。

我想做的是检索NSDataAsset.dataURL。有可能吗?

【问题讨论】:

标签: ios asset-catalog app-thinning


【解决方案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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-26
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多