1. 程式人生 > >全能多媒體開發框架Vitamio

全能多媒體開發框架Vitamio

easyn 編碼轉換 rtsp build 例如 component source err content

簡單介紹: Vitamio 能夠流暢播放720P甚至1080P高清MKV,FLV,MP4,MOV。TS,RMVB等常見格式的視頻。還能夠在 Android 與 iOS 上跨平臺支持 MMS, RTSP, RTMP, HLS(m3u8) 等常見的多種視頻流媒體協議,包括點播與直播。

以下介紹一下簡單的使用

1.拖入project

2.引用:#import “Vitamio.h"

3.加入依賴的系統框架和系統庫例如以下:

- AVFoundation.framwork?? ? 音視頻播放基本工具

- AudioToolbox.framwork?? ? 音頻控制API
- CoreGraphics.framwork?? ? 輕量級2D渲染API
- CoreMedia.framwork?? ? 音視頻低級API
- CoreVideo.framwork?? ? 視頻低級API
- Foundation.framwork?? ? 基本工具
- MediaPlayer.framwork?? ? 系統播放器接口
- OpenGLES.framwork?? ? 3D圖形渲染API
- QuartzCore.framwork?? ? 視頻渲染輸出須要
- UIKit.framwork?? ? 界面API
- libbz2.dylib?? ? 壓縮工具
- libz.dylib?? ? 壓縮工具
- libstdc++.dylib?? ? C++標準庫
- libiconv.dylib?? ? 字符編碼轉換工具

4.遵循協議:<VMediaPlayerDelegate>

5.## 配置Target鏈接參數

選擇 Build Settings | Linking | Other Linker Flags, 將該選項的 Debug/Release
鍵都配置為 -ObjC

//    獲取播放器共享實例, 然後調用實例
    self.player = [VMediaPlayer sharedInstance];
//    設置依賴的view,註冊使用播放器.
    [_player setupPlayerWithCarrierView:self.view withDelegate:self];
//    播放在線視頻
    [self.player setDataSource:[NSURL URLWithString:@"http://v.youku.com/player/getM3U8/vid/XNzI3NDYyMjg0/type/mp4/video.m3u8?password="]];
    //播放器準備
    [self.player prepareAsync];
播放本地視頻方法(選擇調用)

-(void)playlocalurl
{
    //    獲取Document路徑
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documents = [paths lastObject];
    //將path加入到先郵路徑的末尾
    NSString * realpath =[documents stringByAppendingPathComponent:@"5"];
    NSURL * localplayurl =[NSURL URLWithString:realpath];
    //       播放本地視頻
        [self.player setDataSource:localplayurl];
    //播放器準備
    [self.player prepareAsync];

}
#pragma mark vmediaplayer 協議方法

// 當‘播放器準備完畢‘時, 該協議方法被調用, 我們能夠在此調用 [player start]
// 來開始音視頻的播放.
- (void)mediaPlayer:(VMediaPlayer *)player didPrepared:(id)arg
{
    [player start];
}
// 當‘該音視頻播放完畢‘時, 該協議方法被調用, 我們能夠在此作一些播放器善後
// 操作, 如: 重置播放器, 準備播放下一個音視頻等
- (void)mediaPlayer:(VMediaPlayer *)player playbackComplete:(id)arg
{
    [player reset];
}
// 假設播放因為某某原因發生了錯誤, 導致無法正常播放, 該協議方法被調用, 參
// 數 arg 包括了錯誤原因.
- (void)mediaPlayer:(VMediaPlayer *)player error:(id)arg
{
    NSLog(@"NAL 1RRE &&&& VMediaPlayer Error: %@", arg);
}

以上僅僅是簡單播放功能實現,以後會對其它功能實例展示



全能多媒體開發框架Vitamio