iOS線上音頻播放FreeStreamer

來源:互聯網
上載者:User

iOS線上音頻播放FreeStreamer

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

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.