虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > IOS编程/Objective-C > iOS在线音频播放FreeStreamer

iOS在线音频播放FreeStreamer
类别:IOS编程/Objective-C   作者:码皇   来源:jueyi1127的博客     点击:

前言:在上文iOS录音实践中我们用到了AVAudioPlayer来播放本地音频文件。可是在实际应用中我们需要播放网络音频文件,那么在iOS中如何播放网络流媒体呢?就是使用AudioToolbox框架中的音频队列服务Audio Queue

前言:在上文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=@视频地址;
    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

 

 

相关热词搜索: 音频