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的功能很强大,了解其他用法请访问官网

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

相关文章推荐

Suppress warning “Category is implementing a method which will also be implemented b

xcode升级到4.4.1 如果一个对一个类中的函数进行重载,会报错 Suppress warning “Category is implementing a method which will ...

音频队列服务 AudioStreamer、FreeStreamer

音频队列服务 AudioStreamer、FreeStreamer

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

iOS开发之音频解析第三方框架介绍

最近在做iOS音频相关的App,在做之前选择了三种解决方案。第一种方案是使用苹果自带的音频解析类AVPlayer,虽然AVPlayer也可以播放音频。但是要做类似于QQ音乐这样的App,使用AVPla...

FreeStreamer 在线流媒体播放

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

iOS开发之音频解析第三方框架介绍

最近在做iOS音频相关的App,在做之前选择了三种解决方案。第一种方案是使用苹果自带的音频解析类AVPlayer,虽然AVPlayer也可以播放音频。但是要做类似于QQ音乐这样的App,使用AVPla...

使用AVAudioPlayer播放网络音乐

iOS中的AVAudioPlayer不支持边下边播,所以只能下载到本地再播放。 方法: NSString *urlStr = @"http://…………xxx.mp3"; NSURL *u...
  • t_eel
  • t_eel
  • 2013-05-21 13:48
  • 31590

iOS在线音频播放FreeStreamer

FreeStreamer是适用于iOS和OS X的音频播放引擎, 专门为播放音频流而设计。该引擎示范UI简单,效率高,占用内存少,用C++写成。 功能: 高效低内存占用(Objective-C方法调...

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

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

音频在线播放

以前曾经地介绍过MediaPlayer的基本用法,这里就深入地讲解MediaPlayer的在线播放功能。本文主要实现MediaPlayer在线播放音频的功能,由于在线视频播放比在线音频播放复杂,因此先...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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