iOS在线音频播放FreeStreamer

原创 2015年07月08日 11:22:24

前言:在上文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 示例

#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 style="font-family: Georgia, 'Times New Roman', Times, sans-serif;">";</span>
    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


FreeStreamer的功能很强大,了解其他用法请访问官网

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS MP3流媒体播放 边缓冲边播放 FreeStreamer框架

在网上看到有人说AVplay就可以播放流媒体,便拿过来使用,,结果发现无论如何它都是要把MP3缓存完成之后才开始播放,,音频长的就要等好久,对于M4A 格式的还有好些,MP3就不行了,,这样体验非常差...

IOS 在线音频播放框架FreeStreamer使用技巧心得

在公司的项目中需要用到音频播放功能.刚开始做的比较简单.给个URL用AVplayer播放就能搞定了,后来版本迭代.要加入缓存功能.于是开始研究音频框架,在一周多的时间里研究了各种框架各有利弊,使用豆瓣...

对FreeStreamer的单例形式封装

直接代码吧,注释已经加好。 .h 文件如下 // // FreeStreamerPlayer.h // DownloadList // // Created by puslar on 16/...

音频队列服务 AudioStreamer、FreeStreamer

音频队列服务 AudioStreamer、FreeStreamer

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

FreeStreamer 在线流媒体播放

FreeStreamer https://github.com/muhku/FreeStreamer Introduction FreeStreamer is an audi...

iOS 录音,播放,转码MP3,上传语音文件

//语音文件 AVAudioRecorder *recorder; NSTimer *timer; NSString *urlPlay; BOOL isPlay; #pragma ...

iOS音频篇:使用AVPlayer播放网络音乐

引言 假如你现在打算做一个类似百度音乐、豆瓣电台的在线音乐类APP,你会怎样做? 首先了解一下音频播放的实现级别: (1) 离线播放:这里并不是指应用不联网,而是指播放本地音频文件,包括先下完完...

iOS音频播放demo

  • 2016年04月05日 22:15
  • 4.02MB
  • 下载

ios音频播放

  • 2016年06月27日 20:02
  • 1.91MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS在线音频播放FreeStreamer
举报原因:
原因补充:

(最多只允许输入30个字)