*1、播放
(1)音效播放
《1》功能介紹:播放比較短的音音效,常用于做系統(tǒng)提示音使用到的框架(AudioToolBox)
《2》框架介紹
1、SystemSoundID
2、AudioServicesCreateSystemSoundID
3、AudioServicesPlaySystemSound
4、AudioServicesPlayAlertSound
《3》使用步驟
0、導入系統(tǒng)框架#import
1、聲明聲音的ID靠聲音的ID來區(qū)分是哪一個音效
2、創(chuàng)建播放聲音的服務(wù)-告訴系統(tǒng)有一個可以使用的soundID
(1、聲音文件的路徑2、聲音的ID)
3、播放聲音- soundID
(2)音頻播放
《1》功能介紹-播放比較長的音樂
《2》框架介紹
(1)AVAudioPlayer
(2)初始化
<1>***必須聲明全局變量、屬性的音樂播放對象才可以播放
<2>在退出播放頁面的時候一定要把播放對象置空,同時把delegate置空
(3)屬性
[audioPlayer play];開始
[audioPlayer pause];暫停
[audioPlayer stop];停止
[audioPlayer prepareToPlay];預播放
[audioPlayer playAtTime:5];播放到5秒
initWithContentsOfURL初始化
audioPlayer.numberOfChannels獲取當前聲道
audioPlayer.duration獲得播放音頻的時間
audioPlayer.pan = -1.0設(shè)置左右聲道-1.0左0.0中間1.0右
audioPlayer.volume =1.0設(shè)置音量范圍:0.0-1.0
設(shè)置速率必須設(shè)置enableRate為YES才能設(shè)置速率
audioPlayer.enableRate =YES;
audioPlayer.rate =0.5速率:0.5一半的速度1.0普通2.0雙倍
//獲得峰值必須設(shè)置meteringEnabled為YES
audioPlayer.meteringEnabled =YES;
[audioPlayer updateMeters]更新峰值
[audioPlayer peakPowerForChannel:2]獲得當前峰值
[audioPlayer averagePowerForChannel:2]獲得平均峰值
//設(shè)置播放次數(shù)設(shè)置負數(shù)是無線循環(huán)0是一次1是兩次...
audioPlayer.numberOfLoops =0;
audioPlayer.delegate =self;代理
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer
*)player successfully:(BOOL)flag播放完成
- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer
*)player error:(NSError *__nullable)error解碼失敗的時候調(diào)用
- (void)audioPlayerBeginInterruption:(AVAudioPlayer
*)player被打擾開始中斷的時候調(diào)用
- (void)audioPlayerEndInterruption:(AVAudioPlayer
*)player withOptions:(NSUInteger)flags中斷結(jié)束時候調(diào)用78+44vxz
(4)使用步驟
<0>導入#import
<1>資源文件路徑
<2>初始化播放器
<3>設(shè)置播放
<4>預播放
<5>播放
*2、錄音
(1)使用框架
(2)相關(guān)類介紹:
《1》
<1>AVNumberOfChannelsKey通道數(shù)
<2>AVSampleRateKey采樣率44100
<3>AVLinearPCMBitDepthKey比特率16、32
<4>AVEncoderAudioQualityKey質(zhì)量
<5>AVEncoderBitRateKey比特采樣率128000
()prepareToRecord預錄音
(3)使用
《1》初始化
《2》開始錄音
《3》停止錄音