您好,登錄后才能下訂單哦!
最近看了下官方文檔,簡單了解了下AVFoundation。
AVFoundation是iOS的幾個框架之一,您可以用來播放和創建基于時間的視聽媒體。 它提供了一個Objective-C接口,用于在詳細級別上處理基于時間的視聽數據。 例如,您可以使用它來檢查,創建,編輯或重新編碼媒體文件。 您還可以從設備獲取輸入流,并在實時捕獲和播放過程中操作視頻。
AV Foundation框架用來表示媒體的主要類是AVAsset。框架的設計主要由這種表示法指導。了解其結構將幫助您了解框架的工作原理。 AVAsset實例是一個或多個媒體數據(音頻和視頻軌道)的集合的聚合表示。它提供關于作為整體的集合的信息,例如其標題,持續時間,自然呈現大小等。 AVAsset不綁定到特定的數據格式。 AVAsset是用于通過URL和媒體創建asset實例并創建新合成的其他類的超類
Asset中的各個媒體數據片段是統一類型并稱為軌道。在典型的簡單情況下,一個軌道表示音頻分量,另一個軌道表示視頻分量;然而,在復雜的構成中,可能存在音頻和視頻的多個重疊軌道。Asset也可以具有元數據。
AV Foundation的一個重要概念是,初始化Asset或軌道并不一定意味著它已準備就緒。可能需要一些時間來計算項目的持續時間(例如,MP3文件可能不包含摘要信息)。在計算值時,不要阻塞當前線程,而是要求值并通過使用block的回調異步獲取答案。
要創建視頻演示的縮略圖,您可以使用要從中生成縮略圖的Asset來初始化AVAssetImageGenerator的實例。 AVAssetImageGenerator使用默認啟用的視頻軌道生成圖像。
iOS 8之前提供了MPMoviePlayerController和MPMoviePlayerViewController兩個類,它們提供了一種簡單的方法將完整視頻播放功能整合到應用中,相比較與AVKit, MPMoviePlayerController定義了一些標準播放控件,供我們選擇,但是同時它將所有基礎功能隱藏,讓開發者無法使用AVPlayer層的更高級的基礎功能.所以iOS9之后被易用.
而新的AVKit提供了一種動態播放控件,自動為用戶提供最好的體驗. 并且AVPlayerViewController也支持開發者使用AVPlayer更高級的功能.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。