Android 使用Vitamio实现播放视频(一)
来源:互联网 发布:阿里云盒子怎么看直播 编辑:程序博客网 时间:2024/05/23 19:17
一.准备工作
Vitamio : https://www.vitamio.org/Download/ 这里可以下载到项目的源码以及demo
Vitamio API : https://www.vitamio.org/docs/API/2013/0508/9.html 帮助文档
二.引入library
eclipse : 直接导入项目即可 ,没有什么问题
android studo : 导入时候出了些问题,在此说明一下.
1.我们需要先将vitamio项目中的build.gradle信息更改一下
源文件信息:
apply plugin: 'com.android.library'dependencies {}android { compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION defaultConfig { minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION) targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] jniLibs.srcDirs = ['libs'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] } }}
更改后信息:
apply plugin: 'com.android.library'dependencies {}android { compileSdkVersion 23 buildToolsVersion "23.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 23 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] jniLibs.srcDirs = ['libs'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] } }}
更改的有这几个地方
//值参考你项目中的build.gradle即可 compileSdkVersion 23 buildToolsVersion "23.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 23 }
2.然后正常导入module就可以了.
三.代码部分
1.布局文件
activity_play_video_online.xml
<?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="fill_parent" android:layout_height="fill_parent" tools:context="com.sdsoon.ui.PlayVideoOnlineActivity"> <io.vov.vitamio.widget.VideoView android:id="@+id/surface_view" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout>
2.activity
PlayVideoOnlineActivity.java
package com.sdsoon.ui;import android.app.Activity;import android.net.Uri;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.Toast;import com.litesuits.android.log.Log;import com.sdsoon.hanguopai.BaseActivity;import com.sdsoon.hanguopai.R;import java.util.Random;import io.vov.vitamio.MediaPlayer;import io.vov.vitamio.Vitamio;import io.vov.vitamio.widget.MediaController;import io.vov.vitamio.widget.VideoView;/** * 使用vitamio播放视频 * @version 1.0.0 * @author 桑博 */public class PlayVideoOnlineActivity extends Activity { private VideoView mVideoView; private String[] video = { "http://dlqncdn.miaopai.com/stream/MVaux41A4lkuWloBbGUGaQ__.mp4", "http://movie.ks.js.cn/flv/other/2014/06/20-2.flv", "http://movie.ks.js.cn/flv/other/1_0.mp4" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Vitamio.isInitialized(this); setContentView(R.layout.activity_play_video_online);// m_actionBar.hide(); playfunction(); } void playfunction(){ String path = ""; path = video[new Random().nextInt(video.length)]; if (path == "") { Toast.makeText(this, "请填写视频的URL", Toast.LENGTH_LONG).show(); return; } mVideoView = (VideoView) findViewById(R.id.surface_view); mVideoView.setVideoPath(path); //设置视频网络地址// mVideoView.setVideoURI(Uri.parse(path)); //也可以是本地,也可以是网络地址 mVideoView.setMediaController(new MediaController(this)); //设置媒体控制器 mVideoView.setVideoLayout(VideoView.VIDEO_LAYOUT_STRETCH, 0); //设置视频的缩放参数,这里设置为拉伸 mVideoView.requestFocus(); //视频播放器的准备,此时播放器已经准备好了,此处可以设置一下播放速度,播放位置等等 mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { //此处设置播放速度为正常速度1 mediaPlayer.setPlaybackSpeed(1.0f); } }); //当播放完成后,从头开始 mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mediaPlayer) { mediaPlayer.seekTo(0); //转到第一帧 mediaPlayer.start(); //开始播放 } }); }}
这里是对一些方法的讲解.
常量 public static final int VIDEO_LAYOUT_ORIGIN缩放参数,原始画面大小。常量值:0public static final int VIDEO_LAYOUT_SCALE缩放参数,画面全屏。常量值:1public static final int VIDEO_LAYOUT_STRETCH缩放参数,画面拉伸。常量值:2public static final int VIDEO_LAYOUT_ZOOM缩放参数,画面裁剪。常量值:3public void setVideoLayout(int layout, float aspectRatio)设置视频的缩放参数参数layout 缩放参数aspectRation 宽高比,为0将自动检测。public void setVideoPath(String path)设置视频路径。public void setVideoURI(Uri uri)设置视频URI。(可以是网络视频地址)public void setMediaController(MediaController controller)设置媒体控制器。参数controller 媒体控制器,注意是io.vov.vitamio.widget.MediaController。public void setOnPreparedListener(OnPreparedListener l)注册一个回调函数,在视频预处理完成后调用。在视频预处理完成后被调用。此时视频的宽度、高度、宽高比信息已经获取到,此时可调用seekTo让视频从指定位置开始播放。public void setOnCompletionListener(OnCompletionListener l)注册一个回调函数,视频播放完成后调用。更多参考: Vitamio API : https://www.vitamio.org/docs/API/2013/0508/9.html 帮助文档
0 0
- Android 使用Vitamio实现播放视频(一)
- Android 使用Vitamio实现播放视频(一)
- android使用Vitamio实现视频播放大小屏流畅切换
- android开发视频播放器-----视频播放 Vitamio框架的使用(一)
- Android视频播放之vitamio播放视频(一)
- android视频播放器Vitamio的使用
- Android视频播放框架Vitamio集成及使用MediaPlayer+SurfaceView、VideoView+MediaController实现播放网络视频
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(一)
- Vitamio视频播放器(一)
- Vitamio视频播放器(一)
- android视频播放框架Vitamio
- Android vitamio视频播放器
- vitamio视频播放框架使用
- 视频播放 Vitamio框架的使用(一)
- 使用Vitamio开源项目在Android实现播放网络视频
- Android Vitamio 直播视频播放功能的实现
- Android Vitamio 直播视频播放功能的实现
- 智能厨房重构-使用vitamio实现视频播放功能
- [节选]提问的智慧
- ASP.NET 下的Cookie和Session 简单介绍与操作
- 在一个app中调用另外一个app
- 对象复制
- Glide图片加载神器----官方库wiki说明文档的翻译(缓存与缓存校验)
- Android 使用Vitamio实现播放视频(一)
- mybatis在一个delete标签写多条delete语句
- C-格式化输出
- iOS学习笔记47-iOS开发总结之代码规范
- FastDFS文件系统(二) fastdfs和其他文件系统区别
- 将文件(图片为例子)保存到 自己指定的沙盒文件夹中 并取出来 待用
- C++中的全局namespace
- IIS服务器上面plist文件报错
- git 管理之道-修炼