iOS音频播放第三方框架FreeStreamer解析(全)
新项目是一款音频播放类软件,作为该项目核心功能:音频播放。第一版本是使用了系统提供的AVPlayer框架来实现音频文件的播放,再开发完成之后,自测阶段使用都OK,没有任何问题。但当上线之后用户量一大,此时反馈关于在线音频无法播放,已下载的音频文件仍无法播放诸如此类的问题很多。于是觉得找找比较靠谱一点的第三方音频框架,经过各种比较觉得使用FreeStreamer。
使用FreeStreamer来实现音频播放,音频播放控制,后台播放,后台播放控制等功能。
一、实现音频播放
使用cocoapods添加FreeStreamer库
pod 'FreeStreamer', '~> 3.8.0’
导入FreeStreamer框架
#import "FSAudioController.h"
创建播放器并进行播放音频
NSString *musicUrl = @"https://mv-cdn1.ylyk.com/course/audio-402-1481534785-64k44100.mp3";
NSURL *url = [NSURL URLWithString:[musicUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
FSAudioController *audioController = [[FSAudioController alloc] init];
audioController.url = url;
audioController.rate = 1.0;
audioController.volume = 1.0;
- 播放在线音频文件
NSString *filePath = @"../Documents/6f62353f1d21404e9dc07a391ced50c9.mp3";
NSURL* url = [NSURL fileURLWithPath:cacheFilePath];
FSAudioController *audioController = [[FSAudioController alloc] init];
audioController.url = url;
audioController.rate = 1.0;
audioController.volume = 1.0;
二、音频的播放控制
- 获取音频播放状态
/**
*获取音频是否处于播放状态
*/
- (BOOL)isPlaying {
return self.audioController.isPlaying;
}
- 播放
if (self.isPlaying) {
return;
}
[<