LZBAudioPlayer 0.1.4

LZBAudioPlayer 0.1.4

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年8月

lzbgithubcode 维护。



  • lzbgithubcode

简单介绍

LZBAudioPlayer 完整封装了音频播放器的逻辑,没有设置播放器的 UI 部分,所以您可以完全自定义 UI,并且您可以访问播放的业务方法或状态来更改 UI 的样式

  • 支持在线播放音频
  • 支持下载播放音频
  • 支持边下载边播放

类的介绍

  • LZBAudioPlayer 播放器
  • LZBAudioFileManger 下载文件管理,负责管理文件下载,下载文件在 temp 文件中下载,下载完成后并将完好的文件保存在 cache 文件中
  • LZBAudioDownLoader 音频下载器,负责下载区间音频
  • LZBAudioResourceLoader 请求资源类

手动导入

LZBAudioPlayer 文件夹中的所有源代码拖拽入项目中

导入主头文件:#import "LZBAudioPlayer.h"

你可以使用的方法

//监听播放状态@"playURL" /@"playState"

#define kLZBAudioPlayerURLAndStateChangeNotification @"LZBAudioPlayerURLAndStateChangeNotification"

typedef NS_ENUM(NSInteger, LZBAudioPlayerState){
LZBAudioPlayerState_UnKnown = 0, //未知
LZBAudioPlayerState_Loading = 1, //加载中
LZBAudioPlayerState_Playing = 2, //播放中
LZBAudioPlayerState_Stoped  = 3, //停止
LZBAudioPlayerState_Pause   = 4, //暂停
LZBAudioPlayerState_Failed  = 5, //失败

};

@interface LZBAudioPlayer : NSObject

#pragma  mark - 数据

/**
是否静音 - 双向
*/
@property (nonatomic, assign) BOOL muted;
/**
倍速控制 - 双向
*/
@property (nonatomic, assign) float rate;
/**
音量控制 - 双向
*/
@property (nonatomic, assign) float volume;
/**
音频总时长
*/
@property (nonatomic, assign, readonly) NSTimeInterval totalTime;
@property (nonatomic, strong, readonly) NSString *totalTimeFormat;
/**
当前播放时长
*/
@property (nonatomic, assign, readonly) NSTimeInterval currentTime;
@property (nonatomic, strong, readonly) NSString *currentTimeFormat;
/**
当前播放进度
*/
@property (nonatomic, assign, readonly) float progress;
/**
当前加载进度
*/
@property (nonatomic, assign, readonly) float loadProgress;
/**
当前播放URL
*/
@property (nonatomic, strong, readonly) NSURL *currentURL;

/**
当前播放播放状态
*/
@property (nonatomic, assign, readonly) LZBAudioPlayerState state;

#pragma mark - API

//单例
+ (instancetype)shareInstance;

/**
播放url  isSupportCache:是否要下载缓存
*/
- (void)playWithURL:(NSURL *)url isSupportCache:(BOOL)isSupportCache;

/**
暂停
*/
- (void)pause;

/**
继续播放
*/
- (void)resume;

/**
停止
*/
- (void)stop;

/**
快进  快退 differ
*/
- (void)seekWithTimeDiffer:(NSTimeInterval)differ;

/**
指定播放进度播放
*/
- (void)seekWithProgress:(CGFloat)progress;

详细解说

简书地址:兼有下载和缓存的音频播放器 AVPlayer

联系作者

作者

lzbgithubcode, [email protected]

期望

  • 如果在使用过程中遇到 BUG,希望您能联系我,谢谢
  • 如果您觉得这个 demo 对您有所帮助,请给我一颗❤️❤️, star 一下
  • 如果您想了解更多开源姿势,可以关注公众号‘开发者源代码’

image