zoukankan      html  css  js  c++  java
  • 全能多媒体开发框架Vitamio

    简单介绍: 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);
    }

    以上仅仅是简单播放功能实现,以后会对其它功能实例展示



  • 相关阅读:
    洛谷P2912 [USACO08OCT]牧场散步Pasture Walking [2017年7月计划 树上问题 01]
    洛谷P1082 同余方程 [2012NOIP提高组D2T1] [2017年6月计划 数论06]
    洛谷P2667 超级质数 [2017年6月计划 数论05]
    洛谷P1965 转圈游戏 [2013NOIP提高组 D1T1][2017年6月计划 数论04]
    洛谷P1595 信封问题
    洛谷P1062 数列 [2017年6月计划 数论03]
    洛谷P2835 刻录光盘 [2017年6月计划 强连通分量02]
    洛谷P2826 [USACO08NOV]光开关Light Switching [2017年6月计划 线段树02]
    【模板】矩阵快速幂 洛谷P2233 [HNOI2002]公交车路线
    【模板】ST表 洛谷P1816 忠诚
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10849416.html
Copyright © 2011-2022 走看看