如果不去封装的话, 当向音乐盒中放了很多资源的时候, 就会出现一系列容易崩溃的地方.下面话不多说,上代码.
我封装的是一个单例.PlayerSingle
// 1. 单列老步骤, 初始化.
// 2. 属性
(1)设置数据源musicArray, 存放所有音乐数组
(2)下坐标,音乐存放都是有序的, 想找到对应的数组indexPath才可以 选中
(3)播放类型,播放状态,写成枚举( 整型, typedef NS_ENUM(NSInterger,family) {zdf,joner}; )
(4)AVPlayer, 增长生命周期
(5)float 类型的 currentTime以及总时间
// 3.方法
(1)播放
(2)暂停
(3)停止
(4)上一曲
(5)下一曲
(6)指定下标进行播放
(7)指定位置进行播放
(8)播放后的操作.
代码如下:
#import "PlayerSingle.h"
#import <AVFoundation/AVFoundation.h>
#import <MediaPlayer/MediaPlayer.h>
#import "RadioDetailModel.h"
@implementation PlayerSingle
+ (PlayerSingle *)sharePlayer {
static PlayerSingle *palyer = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
palyer = [[PlayerSingle alloc]init];
});
return palyer;
}
// 默认配置
- (instancetype)init {
if (self = [super init]) {
//
self.playType = PlayerTypeList;
self
AVPlayer(网络音频资源)的封装
最新推荐文章于 2021-06-02 19:25:41 发布