1. 程式人生 > >iOS音訊學習筆記二:iOS SDK中與音訊有關的相關框架

iOS音訊學習筆記二:iOS SDK中與音訊有關的相關框架

       上層:
       Media Player Framework

      包含MPMoviePlayerController、MPMoviePlayerViewController、MPMusicPlayerController、MPMediaPlaylist等一些比較高層的視訊、音訊類 。

提供用於播放音訊和視訊內容從你的應用程式的高階支援。你可以使用這個框架來執行以下操作: 

      播放視訊向用戶的螢幕或其他裝置通過AirPlay的。您可以播放此視訊全屏或可調整大小的檢視。 

      訪問使用者的iTunes音樂庫。您可以播放音樂曲目和播放列表,搜尋歌曲,並提出了一個媒體選擇器介面提供給使用者。 

      配置和管理電影播放。 

      現在顯示在鎖屏介面和應用程式切換播放資訊。您也可以在Apple TV上顯示此資訊時,內容是通過AirPlay的交付。 

      當視訊被流過AirPlay的檢測。


      AV foundation Framework:

     該框架提供了一組Objective-C類的播放,錄製和管理音訊和視訊內容。

     音訊會話管理,包括申請宣告你的應用程式的音訊功能的系統支援

     應用程式的媒體資產管理

     支援編輯媒體內容

     捕獲音訊和視訊的能力

     播放音訊和視訊的能力

     跟蹤管理

     元資料管理的媒體專案

     立體聲聲像

     聲音之間精確同步

      一個Objective- C介面用於確定關於聲音檔案,如資料格式,取樣率和聲道數詳情

     支援超過AirPlay的流媒體內容

      中層:
       Audio Toolbox framework

       AudioConverter.h :音訊轉換器的API 。定義了用於建立和使用音訊轉換器的介面。

       AudioFile.h :定義用於讀取和寫入檔案中的音訊資料的介面。
       AudioFileStream.h :定義解析音訊檔案流的介面。

       AudioFormat.h :定義用於在音訊檔案的分配和讀取的音訊格式,元資料的介面。

       AudioQueue.h :定義播放和錄製音訊的介面。

        AudioServices.h :定義三個介面。系統聲音服務可以讓你玩短的聲音和提醒。音訊硬體服務提供了一個輕量級的介面與音訊硬體進行互動。音訊會話服務可以讓iPhone和iPod touch的應用程式管理音訊會議。

       AudioToolbox.h :頂層包含檔案的音訊工具箱框架。

       AUGraph.h :定義用於建立和使用音訊處理圖形介面。

       ExtendedAudioFile.h :定義用於從檔案中的音訊資料直接轉換為線性PCM介面,反之亦然。

        Audio File Services Reference

       a C programming interface that enables you to read or write a wide variety of audio data to or from disk or a memory buffer.

       With Audio File Services you can:

       Create, initialize, open, and close audio files

       Read and write audio files

      Optimize audio files

      Work with user data and global information
 

      Audio converter

      Audio converter objects convert between various linear PCM audio formats. They can also convert between linear PCM and compressed formats. Supported transformations include the following:

  PCM bit depth   PCM sample rate   PCM floating point to and from PCM integer   PCM interleaved to and from PCM deinterleaved   PCM to and from compressed formats

Extended Audio File Services  提供了簡化的音訊檔案訪問,結合音訊檔案服務和音訊轉換器的服務功能。它提供了一個統一的介面用於讀取和寫入壓縮以及線性PCM音訊檔案。


  Open AL framework:
  在ios文件中沒有詳細描述

  底層:
  Audio Unit framework

  音訊單元提供快速,模組化的音訊處理 

  直接使用音訊單元,而不是由更高級別的API,這樣當您需要執行下列操作之一: 

  同時音訊I / O(輸入和輸出),低延時,如一個VoIP(網際網路協議語音)應用程式 

  合成的聲音,如音樂遊戲或合成樂器的響應回放 

  使用特定的音訊單元的功能,如聲學回聲取消,混合,或色調均衡

  的處理鏈的架構,可以讓你組裝的音訊處理模組轉變為靈活的網路。這是iOS中提供這種能力的唯一音訊API。

  Core Media Framework:

  提供了一個低級別的C介面,用於管理和播放和視聽媒體。

---------------------------------------------------------------------------------------- 

  本人部落格內容繫個人學習與研究的筆記,如存在謬誤或缺失,請見諒並指出,謝謝。
  本文地址:http://www.cnblogs.com/gugupluto/p/3584377.html

---------------------------------------------------------------------------------------- 

相關推薦

iOS音訊學習筆記iOS SDK音訊有關相關框架

       上層:       Media Player Framework:       包含MPMoviePlayerController、MPMoviePlayerViewController、MPMusicPlayerController、MPMediaPlaylist等一些比較高層的視訊、音訊類

基於.NET的CAD次開發學習筆記AutoCAD .NET的物件

1、CAD物件 一個CAD檔案(DWG檔案)即對應一個數據庫,資料庫中的所有組成部分,看的見(包括點、多段線、文字、圓等)和看不見(圖層、線型、顏色等)的都是物件,資料庫本身也是一個物件。 直線、圓弧、文字和標註等圖形物件都是物件。 線型與標註樣式等樣式設定都是物件。 圖層

iOS音訊學習筆記常見音訊封裝格式及編碼格式

(1) pcm格式    pcm是經過話筒錄音後直接得到的未經壓縮的資料流    資料大小=取樣頻率*取樣位數*聲道*秒數/8     取樣頻率一般是22k或者44k,位數一般是8位或者16位,聲道一般是單聲道或者雙聲道     pcm屬於編碼格式,就是一串由多個樣本值組成的資料流, 本身沒有任何頭資

iOS音訊學習筆記音訊會話管理

​      使用Audio Session API ,可以指定App需要的音訊行為,比如,當播放音訊時,使得其他應用App靜音或者混和在一起,也可以指定當App的音訊被中斷(例如被電話)時的行為,還可以讓App響應使用者的行為,比如插入或拔出耳機,或者響應那些使用聲音硬體的事件,比如Clock、日曆鬧鐘或者

FFmpeg程式設計學習筆記音訊重取樣

      ffmpeg實現音訊重取樣的核心函式swr_convert功能非常強大,可是ffmpeg文件對它的註釋太過簡單,在應用中往往會出這樣那樣的問題,其實在讀取資料->重取樣->編碼資料的迴圈中在第一次執行swr_convert後還應用swr_conve

SpringMVC學習筆記常用註解

title c學習 請求 pin 學習 lin att 詳解 stp 轉載請註明原文地址:http://www.cnblogs.com/ygj0930/p/6831976.html 一、用於定義類的註解:@Controller @Controller 用於標記在一個類上,

framework7學習筆記基礎知識

部分 cnblogs query 基礎 logs code 自己 $$ pan 一:DOM7 framework7有自己的 DOM7 - 一個集成了大部分常用DOM操作的高性能庫。它的用法和jQuery幾乎是一樣的,包括大部分常用的方法和jquery風格的鏈式調用。 在開發

Spring4學習筆記Bean相關

因此 code per cdata 通過 反射機制 特殊符號 cat too 一:Bean的配置形式 基於XML配置:在src目錄下創建 applicationContext.xml 文件,在其中進行配置。 基於註解配置:在創建bean類時,通過註解來

小程序學習筆記頁面文件詳解之 .json文件

fresh 小程序 整體 屬性 spa hit rbac style mdi 頁面配置文件—— pageName.json 每一個小程序頁面可以使用.json文件來對本頁面的窗口表現進行配置,頁面中配置項會覆蓋 app.json 的 window 中相同的配置

Docker學習筆記Docker的安裝

ros -h bionic docker customer tex 鏈接 space 版本 安裝環境:操作系統:Ubuntu 18.04 LTS,code name:bionic (#lsb_release -a)內核版本:4.15.0-29-generic(#uname

分散式學習筆記從分散式一致性談到CAP理論、BASE理論

問題的提出 在電腦科學領域,分散式一致性是一個相當重要且被廣泛探索與論證問題,首先來看三種業務場景。 1、火車站售票 假如說我們的終端使用者是一位經常坐火車的旅行家,通常他是去車站的售票處購買車 票,然後拿著車票去檢票口,再坐上火車,開始一段美好的旅行----一切似乎都是那麼和諧。想象一

轉載InstallShield學習筆記元件配置

InstallShield學習筆記二:元件配置 這裡主要講的記錄的是配置檔案的細節。 1.Features配置 在 Installshield 中,可以在 Features 新增需要安裝元件大類,這裡需要注意的是: 在InstallSrcipt MSI ,預設DefaultFeatu

JavaScript 學習筆記基本知識

文章目錄 預備知識 JavaScript web 開發人員必須學習的 3 門語言中的一門: 如何編寫JavaScript? 如何執行JavaScript 使用 JavaScript的兩種方式 1. 指令碼是直

csdn學習筆記連結串列原型、do原型分析

設計連結串列,並設計其迭代函式 生成連結串列、列印連結串列 arr = {10, 20, 30, 100, 101, 88, 50}; head = nil; local i = 1 while true do if arr[i] then head = {va

python學習筆記列表

列表通過索引讀取資料: #索引讀取資料 a = [1,2,3] a[-1] 執行結果:3 列表支援巢狀: b = [[1,2,3],[4,5,6]] print(b) 執行結果:[[1, 2, 3], [4, 5, 6]] 列表可以修改: b = [[1,2,3],[4,5,

mapreduce學習筆記去重實驗

bound pac except 計算 throws 問題 多少 tasks tostring 實驗原理 “數據去重”主要是為了掌握和利用並行化思想來對數據進行有意義的篩選。統計大數據集上的數據種類個數、從網站日誌中計算訪問地等這些看似龐雜的任務都

python爬蟲學習筆記Requests庫詳解及HTTP協議

Requests庫的安裝:https://mp.csdn.net/postedit/83715574 r=requests.get(url,params=None,**kwargs) 這個r是Response物件 url :擬獲取頁面的url連結 params:url中的額外引數

快速傅立葉變換FFT的學習筆記深入實踐

快速傅立葉變換FFT的學習筆記二:深入實踐 快速傅立葉變換(Fast Fourier Transform)是離散傅立葉變換的一種快速演算法,簡稱FFT,通過FFT可以將一個訊號從時域變換到頻域。 資料結構 通過AD採集到一串時域上的資料點,一個int型的陣列

odoo10學習筆記繼承(擴充套件)、模組資料

一:繼承 在不改變底層物件的時候新增新的功能——這是通過繼承機制來實現的,作為在現有物件之上的修改層,這些修改可以發生在所有級別:模型,檢視和業務邏輯。不是直接修改現有模組,而是建立一個新模組以新增預期的修改。 1:擴充套件模型 Odoo 模型存在 Python 的模組之外, 在中間登錄檔那裡

odoo10學習筆記繼承(擴展)、模塊數據

標簽 添加 方便 before 表達 use lds extension 簽名 一:繼承 在不改變底層對象的時候添加新的功能——這是通過繼承機制來實現的,作為在現有對象之上的修改層,這些修改可以發生在所有級別:模型,視圖和業務邏輯。不是直接修改現有