標籤:c int 檔案 set a cti
//音頻錄製(標準流程5,9更新)
準備:匯入AVFoundation架構及標頭檔
1 設定會話類型,允許播放及錄音
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
2 啟用會話類別
[audioSession setActive:YES error:nil];
3 封裝字典參數,有音頻格式int,採樣率float,通道數int,深度int
是通過KVC來設定的(setValue forKey)
NSDictionary *setting=[NSDictionary dictionary];
[setting setValue:[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
4 封裝儲存音訊沙箱路徑
5 執行個體化錄音對象,參數:儲存URL,參數字典,錯誤,
注意模擬器調試,只能儲存到沙箱中,
AVAudioRecorder *recorder = [[AVAudioRecorder alloc]initWithURL:(NSURL *) settings:(NSDictionary *) error:&error];
6 預先載入準備錄音
[recorder prepareRecorder];
7 處理按鈕點擊監聽錄音
監聽按鈕touchDown:錄音開啟 [recorder recorder];
監聽按鈕touchUpInset:手指在點擊按鈕後抬起
及touchUpOutset:手指在點擊按鈕後在其他地方抬起
停止錄音 [recorder stop];
錄音的實現總結:
1 執行個體化單例會話對象,設定會話類別為錄音及播放模式,開啟會話
2 執行個體化錄音對象,參數有儲存沙箱路徑,音頻字典參數(音頻格式,採樣率,深度等)
3 封裝沙箱路徑
4 執行個體化錄音對象 路徑 字典參數 錯誤
5 預先載入開啟
6 監聽按鈕的點擊狀態,按下錄音,抬起停止
7 監聽點擊 執行個體化音頻播放對象,填入URL,播放開啟
//音頻播放
蘋果推薦的音訊類型:AAC,IMA4,CAF(CoreAudioFormat)
1 AVFoundation
(只能播放本地音頻,非網路音頻)
_player=[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];
[_player play];
總結:播放本地音頻三步
《1》封裝音頻URL路徑
《2》類方法 初始化音頻對象,參數URL 錯誤處理
《3》對象開啟
對象中有許多屬性 設定迴圈次數,播放控制(play/stop)及預先載入方法prepareToPlay