集成Vitamio来播放网络视频(支持多种格式解码)

在android里面可能会用到播放网络视频,但是android SDK自带的播放视频并不能满足我们要求,因为支持的格式有限,有时只有声音没有头像。碰到这种情况就比较尴尬了……
经过上网查询,找到了一个比较好的框架——Vitamio,Vitamio是ffmpeg的一个开源项目。
先上效果图

准备工作

下载Vitamio,可以去官网下载,当然我也上传到csdn了(http://download.csdn.net/detail/qq272708698/9501774)然后把里面的vitamio复制到自己项目下(android stuido环境下)然后以Import Module
方式导入,最后把这个Module作为自己项目的依赖。

修改build.gradle

修改vitamio下的build.gradle文件,主要是把版本信息修改成自己项目的版本信息即可。
  //修改此处,根据自己的版本compileSdkVersion 23buildToolsVersion "23.0.3"defaultConfig {//修改此处,根据自己的版本minSdkVersion 15targetSdkVersion 23}

修改自己项目AndroidManifest.xml

添加权限
 <uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-feature
        android:glEsVersion="0x00020000"android:required="true" />
添加一个activity
  <activity
            android:name="io.vov.vitamio.activity.InitActivity"         android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"android:launchMode="singleTop"android:theme="@android:style/Theme.NoTitleBar"android:windowSoftInputMode="stateAlwaysHidden" />

实现功能

布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.videoplayer.MainActivity"><io.vov.vitamio.widget.VideoView
        android:id="@+id/surface_view"android:layout_width="match_parent"android:layout_height="match_parent" />
</RelativeLayout>
逻辑代码,这里我是把视频放在本地服务器里面做测试用。
package com.videoplayer;
import android.content.pm.ActivityInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;
import io.vov.vitamio.MediaPlayer;
import io.vov.vitamio.Vitamio;public class MainActivity extends AppCompatActivity {private io.vov.vitamio.widget.VideoView mVideoView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);Vitamio.isInitialized(this);setContentView(R.layout.activity_main);
//        m_actionBar.hide();playfunction();}void playfunction(){String path = "http://192.168.1.106:8080/Demo/Video/飘花电影piaohau.com末日崩塌HD1280高清中英双字.mkv";//路径mVideoView = (io.vov.vitamio.widget.VideoView) findViewById(R.id.surface_view);mVideoView.setVideoPath(path);   //设置视频网络地址
//      mVideoView.setVideoURI(Uri.parse(path)); //也可以是本地,也可以是网络地址mVideoView.setMediaController(new io.vov.vitamio.widget.MediaController(this)); //设置媒体控制器mVideoView.setVideoLayout(io.vov.vitamio.widget.VideoView.VIDEO_LAYOUT_STRETCH, 0);   //设置视频的缩放参数,这里设置为拉伸mVideoView.requestFocus();//视频播放器的准备,此时播放器已经准备好了,此处可以设置一下播放速度,播放位置等等mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mediaPlayer) {//此处设置播放速度为正常速度1mediaPlayer.setPlaybackSpeed(1.0f);}});//当播放完成后,从头开始mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mediaPlayer) {mediaPlayer.seekTo(0);   //转到第一帧mediaPlayer.start();     //开始播放}});}
}

集成Vitamio来播放网络视频(支持多种格式解码)相关推荐

  1. 快速使用Vitamio框架播放网络视频

    简介 文章简介,把以前写过的东西拿来复习分享一下,由于Android自带的VideoView等控件支持的视频播放格式较少,所以使用到Vitamio框架进行快速的搭建一个能播放更多格式的视频播放功能. ...

  2. android能播放4k视频格式,安卓APP,无广告支持多种格式的万能视频播放器

    原标题:安卓APP,无广告支持多种格式的万能视频播放器 万能视频播放器 万能视频播放器是一款专业的视频播放工具.它支持所有视频格式,支持 4K/超高清视频文件,并且能够高清播放.它是安卓手机和平板上欣 ...

  3. 手机影音第十二天,集成vitamio万能播放器

    Vitamio 是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染.Vitamio 凭借其简洁易用的 API 接口赢得了全球众多开发者的青睐.到目前,全球 ...

  4. android 播放器集成,手机影音第十二天,集成vitamio万能播放器

    Vitamio 是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染.Vitamio 凭借其简洁易用的 API 接口赢得了全球众多开发者的青睐.到目前,全球 ...

  5. Android播放网络视频截图

    Android播放网络视频截图 最近博主遇到一个Android电视的开发项目,项目需要电视客户端播放服务器端视频,通过遥控器一键截图,并将截图云推送到手机客户端,于是博主就开始找度神去求助了,毕竟以前 ...

  6. Android 使用PLDroidPlayer播放网络视频 依据视频角度自己主动旋转

    近期由于项目需求 .须要播放网络视频 .于是乎 研究了一番 ,说说我遇到的那些坑 如今市面上有几个比較主流好用的第三方框架 Vitamio ( 体积比較大,有商业化风险 github:https:// ...

  7. android webView 全屏播放网络视频

    1.webView播放网络视频时,有些视频源点击全屏时无反应,经过反复查验探索,原因是某些厂商写的页面不规范导致. 通过阅读官方文档得知  应用如果需要支持HTML5的video标签,必须打开硬件加速 ...

  8. Android开发使用SurfaceView和Mediaplayer播放网络视频(功能齐全)

    本篇播客主要说明如何使用SurfaceView和Mediaplayer来播放网络视频. 支持视频格式:实测支持的有mp3.mp4.rmvb.avi.3gp.flv--. 带有功能:播放.暂停.视频拖动 ...

  9. Android 使用PLDroidPlayer播放网络视频 根据视频角度自动旋转

    本文转载:http://blog.csdn.net/yewei02538/article/details/51882933 现在播放网络视频市面上有几个比较主流好用的第三方框架 Vitamio ( 体 ...

最新文章

  1. 一篇博客带你轻松应对java面试中的多线程与高并发
  2. 2016 - 1 - 19NSOpertation的依赖关系和监听
  3. pandas用read_csv时编码问题解决
  4. 应用程序下载地址汇总
  5. 丰田pcs可以关闭吗_别只知道开不坏,现在的丰田还有这些厉害绝招!
  6. android activity透明主题,Android应用的全透明效果--Activity及Dialog的全透明
  7. badboy + jmeter并发性能测试
  8. java 百度副文本_spring boot 、springMVC环境集成百度ueditor富文本编辑器
  9. layer弹出层笔记
  10. android4.4.2 以太网代理,Android2.3.4系统添加Ethernet框架支持
  11. 华为自动驾驶域控制器:现货PK期货,工程能力PK只有算力
  12. 车辆轨迹跟踪算法---几何跟踪算法
  13. OPENCV运动追踪研究和PYTHON及JAVA实现
  14. Juniper防火墙配置备份
  15. 象棋的杀法??????
  16. 使用node-ffmpeg将m4a转换为mp3
  17. 微信支付接口的参数规定
  18. Linux下批量修改文件名(rename)
  19. 搞机:window10安装Linux子系统(WSL)及迁移到非系统盘
  20. screentogif能录制声音吗_如何用Screen to Gif快速录制动图

热门文章

  1. JDK是什么?jre和jdk的区别?【JDK常见问题答疑】
  2. 收款分账系统是什么?市面上哪家收款分账系统比较好?
  3. java获取移动端定位_移动端报表JS开发示例--获取定位
  4. 波涛暗涌的人效时代,力挽狂澜的灵活用工
  5. 趁着五一假期,花十分钟复习一下H5
  6. T1004: 字符三角形(信息学一本通C++)
  7. 日本語システム:变更电脑ip
  8. ffmpeg之pcm音频参数笔记
  9. 腾讯乘车码公众号裂变涨粉实操案例分析!
  10. 24小时打卡北上广深,用不到300块