简单灵活的iOS音频播放组件。基于AVPlayer,支持本地和远程音频播放,具有缓存、耳机线控、锁屏和控制中心信息展示、单曲顺序随机播放、倍速播放、歌词同步等音频播放器功能,DFPlayer封装了缓冲条、进度条、播放暂停按钮、下一首按钮、上一首按钮、播放模式按钮、歌词同步的tableview等UI控件,一行代码布局即可实现相应功能。
- 本地和远程音频播放
- 边下边播
- 分账户缓存(根据不同用户建立不同缓存地址)、清除缓存
- 耳机线控
- 锁屏和控制中心音频信息展示及控制
- 单曲顺序随机播放
- 歌词同步(提供逐句和逐字两种模式的基于Lrc的歌词同步)
- 倍速播放
- 流量监测(使用流量播放时提示)
- 断点续传
本次更新(2020.4.26):
1、减小包体积(UI控件图片资源改为外部传入)
2、优化代码
查看历史版本点击这里
1、下载并将DFPlayer文件夹拖进工程
2、import "DFPlayer.h"
1、在Podfile中添加: pod 'DFPlayer'
2、执行pod install 或 pod update
3、import "DFPlayer.h"
Ps:pod拉取代码的同学,首先核查DFPlayer.h中注明的版本号,没有或不是2.0.3都不是最新的。
DFPlayer的使用十分简单。
一、详细文档:查看所有API点击这里
1、初始化DFPlayer,并设置数据源(必须)
[[DFPlayer sharedPlayer] df_initPlayerWithUserId:nil];//初始化
[DFPlayer sharedPlayer].dataSource = self;//设置数据源
[[DFPlayer sharedPlayer] df_reloadData];//刷新数据源
2、实现数据源,传数据给DFPlayer(必须)
- (NSArray<DFPlayerModel *> *)df_audioDataForPlayer:(DFPlayer *)player{
//在这里将音频数据传给DFPlayer
}
3、传入audioId准备播放(必须)
[[DFPlayer sharedPlayer] df_playWithAudioId:audioId];
4、选择DFPlayer中提供的UI控件,布局到页面(可选)
DFPlayer封装了歌词tableview、缓冲条、进度条、播放暂停按钮、下一首按钮、上一首按钮、播放模式按钮(单曲、顺序、随机)、当前时间Label、总时间Label。
只需调用DFPlayerUIManager.h中暴露的方法布局到页面,即可实现相应功能,无需其他代码。
示例:
DFPlayerUIManager *mgr = [DFPlayerUIManager sharedManager];
//播放暂停按钮
[mgr df_playPauseBtnWithFrame:playRect playImage:playImage pauseImage:pauseImage superView:_bgView block:nil];
//下一首按钮
[mgr df_nextBtnWithFrame:nextRext image:nextImage superView:_bgView block:nil];
//上一首按钮
[mgr df_lastBtnWithFrame:lastRect image:lastImage superView:_bgView block:nil];
...等,详查"详细文档"。
使用 MIT 许可证,详见LICENSE 文件。
关于DFPlayer的业务需求改进、bug反馈在这里提交。
工作合作qq:188816190