AV Foundation系列(二)簡單的錄音和播放功能

? 最近在學習XMPP漠趁,實現(xiàn)IM功能扁凛,其中有發(fā)送語音的功能,這就要用到錄音和播放了闯传,這AVFoundation的簡單的功能谨朝,在學習XMPP實現(xiàn)IM功能時候隨便學習一下AVFoundation。

?錄音功能實現(xiàn)甥绿,主要實現(xiàn)在AVAudioRecorderManage中字币。頭文件如截圖:

?

? AVAudioRecorder初始化:

其他方法的實現(xiàn):

其中AVAudioRecorder? 的代理由另外一個類處理(這樣設計遵守功能單一原則),該類專門處理AVAudioRecorder的代理事件共缕。

當然洗出,這里只是打印一些信息而已,可以根據(jù)需要實現(xiàn)图谷。

以上就是簡單的錄音功能翩活。

下面實現(xiàn)簡單播放功能,實現(xiàn)在AVAudioPlayerManange中便贵,AVAudioPlayerManange頭文件如下:

?具體播放功能實現(xiàn):

? play方法的實現(xiàn):

stop方法實現(xiàn):

-(void)playWithPlayFileData:(NSData*)data方法

這里和錄音一樣菠镇,我將AVAudioPlayer的代理方法專專門交給另外一個類實現(xiàn):

補充

上面說了錄音和播放,其實還有一個比較重要的東西忘了說了承璃,就是音頻會話利耍,音頻會話在應用程序和操作系統(tǒng)的之間扮演著中間的角色,他提供了一種簡單的實用的方法使得os知道應用程序應該如何與ios音頻環(huán)境進行交互,我們只需要通過音頻會話對應用程序的音頻行為進行語義上的描述即可堂竟,這樣就可以指明應用程序的一般音頻行為。

? 我們可以通過音頻會話分類定制自己的應用程序的音頻行為玻佩,音頻會話分類如下圖:


?2供來自書籍截圖

具體指定哪一種音頻會話出嘹,需要根據(jù)應用程序的的功能決定,下面是制定音頻會話的例子:

每個應用程序都有一個音頻會話(不管應用程序是否使用音頻功能)),它是個單例咬崔,獲取音頻會話單例税稼,設置好音頻會話分類后,激活配置垮斯。

配置音頻會話的后臺行為郎仆,我們需要在后臺也能播放聲音等,我們需要配置后臺行為兜蠕,在plist文件中添加Required background modes 扰肌,其中添加一項App plays ?audio or streams audio/video using airplay的,這樣配置熊杨,語音播放就就有了后臺行為曙旭,程序進入后臺也能播放,就如你使用 的多米音樂一樣晶府。

打斷問題

其次桂躏,在實際的應用中我們的程序可能會被來的電話打斷,我們的程序還需處理這類的打斷問題川陆,當我們的應用程序在打斷的時候剂习,音頻會話會發(fā)送通知AVAudioSessionInterruptionNotification,我們需要做的事注冊該通知,處理打斷事件较沪。處理代碼如下:

線路改變問題

? 當線路改變時音頻會話會發(fā)送AVAudioSessionRouteChangeNotification鳞绕,對拔除耳線的的處理:

效果如下:

總結:AVFoundation功能很強大啊,這么點代碼就可以實現(xiàn)了錄音和播放功能尸曼,不過AVFoundation還有很多東西猾昆,值得學習!B獍垂蜗!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市解幽,隨后出現(xiàn)的幾起案子贴见,更是在濱河造成了極大的恐慌,老刑警劉巖躲株,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件片部,死亡現(xiàn)場離奇詭異,居然都是意外死亡霜定,警方通過查閱死者的電腦和手機档悠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門廊鸥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辖所,你說我怎么就攤上這事惰说。” “怎么了缘回?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵吆视,是天一觀的道長。 經常有香客問我酥宴,道長啦吧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任拙寡,我火速辦了婚禮授滓,結果婚禮上,老公的妹妹穿的比我還像新娘肆糕。我一直安慰自己褒墨,他們只是感情好,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布擎宝。 她就那樣靜靜地躺著郁妈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绍申。 梳的紋絲不亂的頭發(fā)上噩咪,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音极阅,去河邊找鬼胃碾。 笑死,一個胖子當著我的面吹牛筋搏,可吹牛的內容都是我干的仆百。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奔脐,長吁一口氣:“原來是場噩夢啊……” “哼俄周!你這毒婦竟也來了?” 一聲冷哼從身側響起髓迎,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤峦朗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后排龄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體波势,經...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了尺铣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拴曲。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凛忿,靈堂內的尸體忽然破棺而出澈灼,到底是詐尸還是另有隱情,我是刑警寧澤侄非,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站流译,受9級特大地震影響逞怨,放射性物質發(fā)生泄漏。R本人自食惡果不足惜福澡,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一叠赦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧革砸,春花似錦除秀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至效拭,卻和暖如春暂吉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缎患。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工慕的, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人挤渔。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓肮街,卻偏偏與公主長得像,于是被迫代替她去往敵國和親判导。 傳聞我的和親對象是個殘疾皇子嫉父,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內容