ihoudf / DFPlayer

简单灵活的iOS音频播放组件。基于AVPlayer,支持本地和远程音频播放,具有缓存、耳机线控、锁屏和控制中心信息展示、单曲顺序随机播放、倍速播放、歌词同步等音频播放器功能,DFPlayer封装了缓冲条、进度条、播放暂停按钮、下一首按钮、上一首按钮、播放模式按钮、歌词同步的tableview等UI控件,一行代码布局即可实现相应功能。
MIT License
586 stars 114 forks source link

DFPlayer2.0.3版本来啦!使用更简单、代码更清晰

简单灵活的iOS音频播放组件。基于AVPlayer,支持本地和远程音频播放,具有缓存、耳机线控、锁屏和控制中心信息展示、单曲顺序随机播放、倍速播放、歌词同步等音频播放器功能,DFPlayer封装了缓冲条、进度条、播放暂停按钮、下一首按钮、上一首按钮、播放模式按钮、歌词同步的tableview等UI控件,一行代码布局即可实现相应功能。


-- 支持


-- 版本

本次更新(2020.4.26):
1、减小包体积(UI控件图片资源改为外部传入)
2、优化代码
查看历史版本点击这里


-- 安装(最低支持 iOS 7.1)

手动安装
    1、下载并将DFPlayer文件夹拖进工程
    2、import "DFPlayer.h"
CocoaPods
    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 文件。


THANKS!

关于DFPlayer的业务需求改进、bug反馈在这里提交。
工作合作qq:188816190