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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

iOS录音功能

發布時間:2023/12/31 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS录音功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【音頻】

指人耳可以聽到的聲音頻率在20HZ~20kHz之間的聲波,稱為音頻。

【采樣頻率】

即取樣頻率, 指每秒鐘取得聲音樣本的次數。采樣頻率越高,聲音的質量也就越好,聲音的還原也就越真實,但同時它占的資源比較多。由于人耳的分辨率很有限,太高的頻率并不能分辨出來。

22050 的采樣頻率是常用的, 44100已是CD音質, 超過48000或96000的采樣對人耳已經沒有意義。這和電影的每秒 24 幀圖片的道理差不多。

如果是雙聲道(stereo), 采樣就是雙份的, 文件也差不多要大一倍.

【采樣位數】

即采樣值或取樣值(就是將采樣樣本幅度量化)。它是用來衡量聲音波動變化的一個參數,也可以說是聲卡的分辨率。它的數值越大,分辨率也就越高,所發出聲音的能力越強。

每個采樣數據記錄的是振幅, 采樣精度取決于采樣位數的大小:
?? ???? ?1 字節(也就是8bit) 只能記錄 256 個數, 也就是只能將振幅劃分成 256 個等級;
?? ???? ?2 字節(也就是16bit) 可以細到 65536 個數, 這已是 CD 標準了;
?? ???? ?4 字節(也就是32bit) 能把振幅細分到 4294967296 個等級, 實在是沒必要了.

【通道數】

即聲音的通道的數目。常有單聲道和立體聲之分,單聲道的聲音只能使用一個喇叭發聲(有的也處理成兩個喇叭輸出同一個聲道的聲音),立體聲可以使兩個喇叭都發聲(一般左右聲道有分工) ,更能感受到空間效果,當然還有更多的通道數。

【幀】

幀記錄了一個聲音單元,其長度為樣本長度(采樣位數)和通道數的乘積。

【周期】

音頻設備一次處理所需要的幀數,對于音頻設備的數據訪問以及音頻數據的存儲,都是以此為單位。

【交錯模式】

數字音頻信號存儲的方式。數據以連續幀的方式存放,即首先記錄幀1的左聲道樣本和右聲道樣本,再開始幀2的記錄...

【非交錯模式】

首先記錄的是一個周期內所有幀的左聲道樣本,再記錄所有右聲道樣本。

【比特率】

每秒的傳輸速率(位速, 也叫比特率)。如705.6kbps 或 705600bps, 其中的 b 是 bit, ps 是每秒的意思,表示每秒705600bit的容量。

選擇一個Category
AVAudioSessionCategoryAmbient?或?kAudioSessionCategory_AmbientSound
——用于非以語音為主的應用,使用這個category的應用會隨著靜音鍵和屏幕關閉而靜音。并且不會中止其它應用播放聲音,可以和其它自帶應用如iPod,safari等同時播放聲音。注意:該Category無法在后臺播放聲音
AVAudioSessionCategorySoloAmbient?或?kAudioSessionCategory_SoloAmbientSound
——類似于AVAudioSessionCategoryAmbient?不同之處在于它會中止其它應用播放聲音。 這個category為默認category。該Category無法在后臺播放聲音
AVAudioSessionCategoryPlayback 或?kAudioSessionCategory_MediaPlayback
——用于以語音為主的應用,使用這個category的應用不會隨著靜音鍵和屏幕關閉而靜音。可在后臺播放聲音
AVAudioSessionCategoryRecord?或?kAudioSessionCategory_RecordAudio
———用于需要錄音的應用,設置該category后,除了來電鈴聲,鬧鐘或日歷提醒之外的其它系統聲音都不會被播放。該Category只提供單純錄音功能。
AVAudioSessionCategoryPlayAndRecord?或?kAudioSessionCategory_PlayAndRecord
——用于既需要播放聲音又需要錄音的應用,語音聊天應用(如微信)應該使用這個category。該Category提供錄音和播放功能。如果你的應用需要用到iPhone上的聽筒,該category是你唯一的選擇,在該Category下聲音的默認出口為聽筒(在沒有外接設備的情況下)。

注意:并不是一個應用只能使用一個category,程序應該根據實際需要來切換設置不同的category,舉個例子,錄音的時候,需要設置為AVAudioSessionCategoryRecord,當錄音結束時,應根據程序需要更改category為AVAudioSessionCategoryAmbient,AVAudioSessionCategorySoloAmbient或AVAudioSessionCategoryPlayback中的一種。

錄音相關設置
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
//1.設置錄音格式:AVFormatIDKey
[dict setObject:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
//2.設置錄音采樣速率:AVSampleRateKey 8000/44100/96000
[dict setObject:[NSNumber numberWithInt:44100] forKey:AVSampleRateKey];
//3.設置錄音質量:AVEncoderAudioQualityKey
[dict setObject:[NSNumber numberWithInt:AVAudioQualityHigh] forKey:AVEncoderAudioQualityKey];
//4.設置線性采樣位數:AVLinearPCMBitDepthKey 8/16/24
[dict setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
//5.錄音通道:AVNumberOfChannelsKey 1/2
[dict setObject:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];

總結

以上是生活随笔為你收集整理的iOS录音功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。