iOS开发 边下边播的音频播放器WTAudioPlayer播放器介绍

场景

公司APP内需要一个边下边播的音频播放器。

整理思路

WTAudioPlayer是基于唱吧开源的KTVHTTPCache,在业务逻辑层对AVPlayer播放器的封装。KTVHTTPCache这个工具解决了缓存的问题,实现的原理是开启了本地服务器去代理每一个音频下载的请求,这样即可管理每个音频文件的下载进度。

特征介绍

WTAudioPlayer:该类是对外的播放器类,其中有单例的类方法,也有实例的类方法。可以一个播放器切换多个资源进行播放。目前实现了播放,暂停,续播,停止播放。

AudioURLModel:该类是音频链接模型,里面记录了链接类型和该链接对应的音频的播放状态。最重要的是,该模型记录了音频链接在哪个类中被播放过,当播放器停止播放的时候,会把那些已销毁的类播过的音频资源给释放了,减少内存占用。

PauseTimeModel:该类是用来记录音频文件被暂停时候的时间,这样即可在下次续播的时候,继续上次暂停的时间点继续播放。

使用方法

播放:

 [[WTAudioPlayer audioPlayer] playWithUrlString:_musicURLStr isLocalFileURL:NO forClass:[self class]];

暂停:

[[WTAudioPlayer audioPlayer] pauseWithUrlString:_musicURLStr];

续播:

[[WTAudioPlayer audioPlayer] resumeWithUrlString:_musicURLStr];

停止:

[[WTAudioPlayer audioPlayer] stopWithUrlString:_musicURLStr];

如果使用的是单例,在释放音乐列表的对象的时候,一定得记得清理不会再次播放的音频资源。清理不会再次播放的音乐资源的方法如下

[self.audioPlayer releaseAudioPlayerForClass:[self class]];

参考资料

KTVHTTPCache

你可能感兴趣的:(iOS开发 边下边播的音频播放器WTAudioPlayer播放器介绍)