视频(一)"/>
Android 使用Vitamio实现播放视频(一)
Android 使用Vitamio实现播放视频(一),有需要的朋友可以参考下。
一.准备工作
Vitamio :
Vitamio API : .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_VERSIONdefaultConfig {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 23buildToolsVersion "23.0.0"defaultConfig {minSdkVersion 14targetSdkVersion 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 23buildToolsVersion "23.0.0"defaultConfig {minSdkVersion 14targetSdkVersion 23}
2.然后正常导入module就可以了.
三.代码部分
1.布局文件
activity_play_video_online.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android=""xmlns: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.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 = {".mp4",".flv",".mp4"};@Overrideprotected 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() {@Overridepublic void onPrepared(MediaPlayer mediaPlayer) {//此处设置播放速度为正常速度1mediaPlayer.setPlaybackSpeed(1.0f);}});//当播放完成后,从头开始mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {@Overridepublic 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 : .html 帮助文档
更多推荐
Android 使用Vitamio实现播放视频(一)
发布评论