你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS在線音頻播放FreeStreamer

iOS在線音頻播放FreeStreamer

編輯:IOS開發綜合

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

 

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved