AVFoundation (iOS) 簡介

半紙淵發表於2017-12-14

AVFoundation 學習資源列表

LINK: http://www.jianshu.com/p/1c51f93d54be

^-^ 文章內容:

一、它能幹嘛。

二、它裡面由什麼組成。

三、AVFoundation。


  • 一、它能幹嘛。

    • 官方: 1、Record, edit, and play audio(A) and video(V). 【錄製、編輯、播放音訊視訊;注,也可以拍攝圖片】 2、AVFoundation is one of several frameworks that you can use to play and create** time-based** audiovisual media.  【AVFoundation 是可以播放和建立基於時間的視聽媒體框架集
    • 結論: AVFoundation 是針對音訊和視訊的處理框架集; 1、音訊:錄製(建立)/編輯/播放 2、視訊:錄製(建立)/編輯/播放 3、圖片:拍攝(建立) 【注:(個人見解,不講格式等等)視訊,本質是沒有聲音的有序圖片集】

  • 二、它裡面由什麼組成。

    • 官方:(AVFoundation Programming Guide) Link:https://developer.apple.com/library/content/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/00_Introduction.html#//apple_ref/doc/uid/TP40010188-CH1-SW3
      組成結構
    • 解釋: 1)、先看中間灰色圓點虛線上層是檢視層(View)的封裝,簡言之就是可以直接當平時用 UIKit 一樣使用 AVKit;下層是真正的 AV Fonudation 底層內容,主要的學習時間都在這裡; 2)、AV Fonudation 右上角有個 Audio-only classes ,它裡面有很多專門處理聲音的 API 知道就好了; 3)、Core Audio (以下內容,現在瞭解一下就可以了) link:https://developer.apple.com/library/content/documentation/MusicAudio/Conceptual/CoreAudioOverview/Introduction/Introduction.html
      AVFoundation (iOS)   簡介
      link:https://developer.apple.com/reference/coreaudio?language=objc
      AVFoundation (iOS)   簡介
      4)、Core Media
      核心是學習 CMTime/CMTimeRange ,AVFoundation 是基於時間的框架,那麼學習時間的處理,當然非常重要。 【它們都是一些結構體,蘋果專門為了時間的處理而做的處理,以後開發中關於時間的操作都是通過這兩個結構體來完成】 【注:時間處理為什麼重要,視訊是以為單位的,一幀就是一張圖片,25幀每秒(25/s),就是一秒內播放連續的25張圖片,就是一秒的視訊;那麼那怕消失了一幀,對於視訊而言是可怕的】 link:https://developer.apple.com/reference/coremedia?language=objc
      AVFoundation (iOS)   簡介
      5)、Core Animation 很重要,內容的渲染者(顯示) Core Audio / Core Media 並沒有提供可以顯示內容的類,Core Animation 裡面有 CALayer (注:1.The CALayer class manages image-based content and allows you to perform animations on that content. ) 可以用於圖片的內容顯示。當然還有更多的功能,也集中在這裡。 link:https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html
      AVFoundation (iOS)   簡介
      【OpenGL 是進於圖片方面的開源庫, ES 是移動裝置版, 進階的時候絕對要學的; link:https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html
      AVFoundation (iOS)   簡介
      【進階的時候才會深入學習 Core Animation 所以不用太緊張,現在不用太在意它】

  • 三、AVFoundation

學習路徑 ( ~> - ~ 貴在堅持 ~ - <~)

  • 瞭解 (看上面兩大點)
  • 學習上層 AVKit 的使用
  • 學習下層 AVFoundation 內容
  • 深入學習 Core Animation / OpenGL ES / OpenCV

相關文章