iOS在线音频播放FreeStreamer
2016-02-15 19:33
417 查看
前言:在上文iOS录音实践中我们用到了AVAudioPlayer来播放本地音频文件。可是在实际应用中我们需要播放网络音频文件,那么在iOS中如何播放网络流媒体呢?就是使用AudioToolbox框架中的音频队列服务Audio Queue Services。本文将介绍第三方优秀开源框架FreeStreamer
一 FreeStreamer 功能简介
FreeStreamer是适用于iOS和OS X的音频播放引擎, 专门为播放音频流而设计。该引擎示范UI简单,效率高,占用内存少,用C++写成。
功能:
高效低内存占用(Objective-C方法调用不会额外消耗性能)
支持ShoutCast和IceCast流媒体以及标准的HTTP协议
可检测流媒体格式
支持ShoutCast metadata
支持暂停,比如因通话暂停播放
支持后台播放
支持ID3v2
支持Podcast RSS feeds
内容可以被储存在文件中(查看OS X app)
可访问PCM音频示例
包含频率分析器(可查看Additions和iOS app)
二 使用方法
1 使用cocoapods安装FreeStreamer.
2 示例
?
?
一 FreeStreamer 功能简介
FreeStreamer是适用于iOS和OS X的音频播放引擎, 专门为播放音频流而设计。该引擎示范UI简单,效率高,占用内存少,用C++写成。
功能:
高效低内存占用(Objective-C方法调用不会额外消耗性能)
支持ShoutCast和IceCast流媒体以及标准的HTTP协议
可检测流媒体格式
支持ShoutCast metadata
支持暂停,比如因通话暂停播放
支持后台播放
支持ID3v2
支持Podcast RSS feeds
内容可以被储存在文件中(查看OS X app)
可访问PCM音频示例
包含频率分析器(可查看Additions和iOS app)
二 使用方法
1 使用cocoapods安装FreeStreamer.
2 示例
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #import ViewController.h #import FSAudioStream.h @interface ViewController () @property (nonatomic,strong) FSAudioStream *audioStream; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self.audioStream play]; } /** * 取得本地文件路径 * * @return 文件路径 */ -(NSURL *)getFileUrl{ NSString *urlStr=[[NSBundle mainBundle]pathForResource:@飞鸟.mp3 ofType:nil]; NSURL *url=[NSURL fileURLWithPath:urlStr]; return url; } -(NSURL *)getNetworkUrl{ NSString *urlStr=@视频地址<span new="" style="font-family:" times="">;</span> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | NSURL *url=[NSURL URLWithString:urlStr]; return url; } /** * 创建FSAudioStream对象 * * @return FSAudioStream对象 */ -(FSAudioStream *)audioStream{ if (!_audioStream) { NSURL *url=[self getNetworkUrl]; //创建FSAudioStream对象 _audioStream=[[FSAudioStream alloc]initWithUrl:url]; _audioStream.onFailure=^(FSAudioStreamError error,NSString *description){ NSLog(@播放过程中发生错误,错误信息:%@,description); }; _audioStream.onCompletion=^(){ NSLog(@播放完成!); }; [_audioStream setVolume:0.5];//设置声音 } return _audioStream; } @end |
相关文章推荐
- iOS之@selector的函数传递多个参数
- iOS之iOS键盘隐藏
- iOS之iOS键盘隐藏
- iOS应用在后台长久运行
- 此证书的签发者无效 问题解决
- iOS 自定义 中间带突起圆形的tabbar
- iOS 个别页面强制横屏,其他页面竖屏
- 开源 一行代码实现多形式多动画的推送小红点WZLBadge(iOS)
- iOS中的“面向切面”式编程
- iOS事件分发机制(一) hit-Testing
- 关于iOS中ARC机制的理解
- iOS 提交时显示 Valid signing identity not found 证书的签发者无效
- ios 分辨率 和物理大小
- Aspects iOS的AOP面向切面编程的库
- iOS支付宝接口调用总结
- iOS-延迟操作方法总结
- IOS支付宝支付步骤
- IOS开发证书显示“此证书的签发者无效”
- IOS跑马灯效果,实现文字水平无间断滚动
- IOS实现自动循环滚动广告--ScrollView的优化和封装