多媒體流媒體,流媒體和多媒體

來源:互聯網
上載者:User

多媒體流媒體,流媒體和多媒體

  在現階多媒體技術應用變得越來越廣泛,尤其是大家在聽音樂看視頻的時候,如果我們想完成一個從網路載入資源並且進行播放的例子就需要用到多媒體,多媒體蘋果有內建的但是功能不是很強大,如果需要更加強大的功能我們需要藉助第三方,現在我們用一下豆瓣提供的多媒體庫進行一個簡單的播放執行個體。

1、我們首先要引入庫,先去官網下載響應的類庫並引入到項目中

 

  2、針對類庫,我們還需要引入對應的支援架構如

 

  3、完成上面工作後我們就可以搭建介面了,我們先用storyboard搭建一個簡單的介面,並且進行對應的輸出口連結,

 

@property (weak, nonatomic) IBOutlet UILabel *spedd;@property (weak, nonatomic) IBOutlet UILabel *receive;@property (weak, nonatomic) IBOutlet UILabel *total;

4、下面我們就可以開始編程了,首先引入標頭檔

#import "DOUAudioStreamer.h"/**豆瓣流媒體對象*/@property(nonatomic,strong) DOUAudioStreamer * stream;    //    這裡發現初始化流對象需要一個參數,而參數是id類型,並且遵守了DOUAudioFile協議,於是我們就封裝一個類JRAudioFile,並且裡面有一個屬性為音頻連結

  然後我們就可以初始化該流對象了

    //初始設定檔案    JRAudioFile * file=[[JRAudioFile alloc] init];    file.audioFileURL=[NSURL URLWithString:@"http://localhost/ghsy.mp3"];        //初始化流    self.stream=[DOUAudioStreamer streamerWithAudioFile:file];       //開始播放[self.stream play];

 5、在音頻播放的時候我們需要監控下載進度,此時我們需要通過KVO的方式進行監控,如下所示:

       [self.stream addObserver:self forKeyPath:@"bufferingRatio" options:NSKeyValueObservingOptionNew context:nil];    #pragma mark - 觀察回調方法-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{    //    這裡需要除以1000來轉換單位,不是1024    CGFloat expectedLength= self.stream.expectedLength/1000.0/1000.0;    CGFloat receivedLength= self.stream.receivedLength/1000.0/1000.0;    CGFloat downloadSpeed= self.stream.downloadSpeed/1000.0/1000.0;      //回到主線程    dispatch_sync(dispatch_get_main_queue(), ^{        self.spedd.text=[NSString stringWithFormat:@"下載速度:%gKB/S",downloadSpeed];        self.total.text=[NSString stringWithFormat:@"檔案大小:%gM",expectedLength];        self.receive.text=[NSString stringWithFormat:@"已經接受:%gM",receivedLength];            });        NSLog(@"%.2f,%.2f,%.2f",expectedLength,receivedLength,downloadSpeed);}

然後一個簡單的網路音頻播放就完成了。

 

  疑問諮詢或技術交流,請加入官方QQ群: (452379712)

 

作者:傑瑞教育
出處:http://www.cnblogs.com/jerehedu/ 
本文著作權歸煙台傑瑞教育科技有限公司和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.