iOS使用AVFoundation的AVAudioPlayer来播放音频

释放双眼,带上耳机,听听看~!

iOS提供了AVFoundation框架来进行音频的播放和录制,分别使用AVAudioPlayer和AVAudioRecorder即可。

AVAudioPlayer

AVAudioPlayer的简单使用如下,可以指定音频文件:

#import <AVFoundation/AVFoundation.h>
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sound" ofType:@"m4a"]];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
player.volume = 0.1f;
;
;
// ;

也可以指定音频的NSData

player = [[AVAudioPlayer alloc] initWithData:soundData error:nil];

AVAudioPlayer的一些参数:

player.numberOfLoops = 1; // 默认播放一次
player.meteringEnabled = YES; // 开启仪表计数功能
player.currentTime = 10.0; // 从指定位置开始播放
NSInteger channels = player.numberOfChannels; // 声道数,只读
NSTimerInterval duration = player.duration; // 音频持续时间

AVAudioPlayerDelegate

可以使用AVAudioPlayerDelegate的一些方法来处理音频播放完善播放过程。

// 播放完成时调用,播放中断不调用
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag;
// 解码错误
- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError * __nullable)error;
// 播放中断时的处理
- (void)audioPlayerBeginInterruption:(AVAudioPlayer *)player NS_DEPRECATED_IOS(2_2, 8_0);
// 中断处理结束后
- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player

iOS 音量调节视图MPVolumeView的使用

人已赞赏
iOS文章

iOS 使用NSURL的urlWithString时,尽量先对字符串进行UTF8转码

2020-3-31 13:33:30

iOS文章

iOS NSPredicate 的使用总结

2020-3-31 16:03:02

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索