iOS開發音頻播放基礎——AVAudioPlayer的應用

iOS音頻開發——AVAudioPlayer應用

AVAudioPlayer是系統提供給咱們的一個音頻播放類,在AVFoundation框架下,經過它,咱們能夠實現一個功能強大的音樂播放器。首先,在項目中咱們須要導入AVFoundation這個框架。框架

1、AVAudioPlayer方法與屬性詳解

初始化方法有兩種,經過音頻的路徑或者音頻data數據初始化player對象函數

- (instancetype)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError;
- (instancetype)initWithData:(NSData *)data error:(NSError **)outError;

注意:支持的音頻格式有:AAC,ALAC,HE-AAC,iLBC,IMA4,MP3.oop

 

準備播放音頻,返回值標誌是否解析成功,是否能夠播放。學習

- (BOOL)prepareToPlay;

 

開始播放音頻url

- (BOOL)play;

 

在一段時間間隔後播放spa

- (BOOL)playAtTime:(NSTimeInterval)time;

 

暫停播放,而且準備好繼續播放code

- (void)pause;

 

中止播放,再也不準備好繼續播放對象

- (void)stop;

 

獲取是否正在播放開發

@property(readonly, getter=isPlaying) BOOL playing;

 

獲取當前音頻聲道數get

@property(readonly) NSUInteger numberOfChannels;

 

獲取當前音頻時長

@property(readonly) NSTimeInterval duration;

 

獲取建立時的音頻路徑

@property(readonly) NSURL *url;

 

獲取建立時的音頻數據

@property(readonly) NSData *data;

 

設置聲道偏移量,0爲中心,-1爲只有左聲道,1爲只有右聲道

@property float pan;

 

設置音頻音量,取值爲0-1之間

@property float volume;

 

設置是否能夠改變播放速度

@property BOOL enableRate;

注意:設置這個屬性前必須先調用prepareToPlay這個方法。

 

設置播放速度,1爲正常,0.5爲一半速度,2.0爲2倍速度

@property float rate;

 

設置當前播放的時間點

@property NSTimeInterval currentTime;

 

設置音頻播放循環次數

@property NSInteger numberOfLoops;

 

獲取音頻設置字典

@property(readonly) NSDictionary *settings;

 

是否開啓儀表計數功能

@property(getter=isMeteringEnabled) BOOL meteringEnabled;

 

更新儀表計數的值

- (void)updateMeters;

 

獲取指定聲道音頻峯值

- (float)peakPowerForChannel:(NSUInteger)channelNumber;

 

獲取指定聲道音頻平均值

- (float)averagePowerForChannel:(NSUInteger)channelNumber;

 

2、AVAudioPlayerDelegate方法詳解

音頻播放結束後調用的函數

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag;

 

播放遇到錯誤時調用的函數

- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error;

 

學習使用 歡迎轉載

 

專一技術,熱愛生活,交流技術,也作朋友。

——琿少 QQ羣:203317592

相關文章
相關標籤/搜索