日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AVPlayer(二)AVAsset

發(fā)布時間:2023/12/29 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AVPlayer(二)AVAsset 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

https://www.sunyazhou.com/2017/06/16/Learning-AV-Foundation-AVAsset-Basic/?utm_source=tuicool&utm_medium=referral

AVAsset?專輯

一個抽象類,里面包含曲目、格式、時長, 以及元數(shù)據(jù)NSData(二進制的bytes).

@property (nonatomic, readonly) NSArray<AVAssetTrack *> *tracks;

加載格式

AVURLAsset *anAsset = [[AVURLAsset alloc] initWithURL:url options:nil]; NSArray *keys = @[@"duration",@"tracks"];[asset loadValuesAsynchronouslyForKeys:keys completionHandler:^() {NSError *error = nil;AVKeyValueStatus tracksStatus = [asset statusOfValueForKey:@"tracks" error:&error];//根據(jù)相應(yīng)的屬性狀態(tài)進行對應(yīng)的處理switch (tracksStatus) {case AVKeyValueStatusUnknown://TODObreak;case AVKeyValueStatusLoading://TODObreak;case AVKeyValueStatusLoaded://TODObreak;case AVKeyValueStatusFailed://TODObreak;case AVKeyValueStatusCancelled://TODObreak;} }];

AVAssetTrack?曲目

我們真正存儲媒體資源的統(tǒng)一媒體類型。

  • 音頻流
  • 視頻流
NSArray<AVAssetTrack *> *audioAssetTracks = [asset tracksWithMediaType:AVMediaTypeAudio]; NSArray<AVAssetTrack *> *videoAssetTracks = [asset tracksWithMediaType:AVMediaTypeVideo];

AVAssetImageGenerator

- (instancetype)initWithAsset:(AVAsset *)asset NS_DESIGNATED_INITIALIZER;//獲取一張圖片,requestedTime 指定要獲取視頻中哪個時刻的圖片,actualTime 返回圖片實際是視頻的哪個時刻,outError 返回錯誤信息 - (nullable CGImageRef)copyCGImageAtTime:(CMTime)requestedTime actualTime:(nullable CMTime *)actualTime error:(NSError * _Nullable * _Nullable)outError CF_RETURNS_RETAINED;//獲取多張圖片,每一次圖片生成后,都會調(diào)用一次 handler - (void)generateCGImagesAsynchronouslyForTimes:(NSArray<NSValue *> *)requestedTimes completionHandler:(AVAssetImageGeneratorCompletionHandler)handler;//上述 handler 的類型如下,回調(diào)中的參數(shù)有圖片的請求時刻和實際時刻,圖片,狀態(tài)(成功、失敗、取消),錯誤信息 typedef void (^AVAssetImageGeneratorCompletionHandler)(CMTime requestedTime, CGImageRef _Nullable image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError * _Nullable error);

?

總結(jié)

以上是生活随笔為你收集整理的AVPlayer(二)AVAsset的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。