本文主要是介绍视频播放三:Vitamio,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
demo的GitHub地址
参考:Android Vitamio的使用解析
简介
vatamio:读音:维他米欧
Vitamio能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,
还可以在Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播。
使用Vitamio框架主要是它能够播放足够多的视频格式(称万能播放器),而android系统的播放器只能mp4,3gp,.m3u8这几种格式。
集成
Android如何集成Vitamio
Android视频播放实现的三种办法
导入vitamio
Vitamio官网
Vitamio github
从官网或者GitHub上下载项目,目录如下:
建立vitamio module,把src、res、AndroidManifest、lib文件夹拷贝进去,
因为so文件在lib文件夹,所以module的build.gradle添加:
android{sourceSets {main {//so文件放在libs时才使用jniLibs.srcDirs = ['libs']}}}
注意:完成后app module添加vitamio的模块依赖。
初始化:
//一定要初始化
Vitamio.initialize(this);
布局:
<io.vov.vitamio.widget.VideoViewandroid:id="@+id/video1"android:layout_width="match_parent"android:layout_height="300dp"android:layout_marginTop="10dp" />
代码:
注意导包来自vitamio包。
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;import io.vov.vitamio.MediaPlayer;//
import io.vov.vitamio.Vitamio;//
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;//public class Main3Activity extends Activity implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener {private VideoView video;private Button btn;private EditText et;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main3);//一定要初始化Vitamio.initialize(this);initView();}private void initView() {video = (VideoView) findViewById(R.id.video1);btn = (Button) findViewById(R.id.btn1);et = (EditText) findViewById(R.id.et2);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String path = Environment.getExternalStorageDirectory().getPath() + "/" +et.getText().toString();Log.e("Main3Activity", "path====" + path);Uri uri = Uri.parse(path);video.setVideoURI(uri);video.setMediaController(new MediaController(Main3Activity.this));//设置监听video.setOnPreparedListener(Main3Activity.this);video.setOnErrorListener(Main3Activity.this);video.setOnCompletionListener(Main3Activity.this);}});}@Overridepublic void onPrepared(MediaPlayer mp) {video.start();Log.e("Main3Activity", "====onPrepared====");}@Overridepublic void onCompletion(MediaPlayer mp) {Log.e("Main3Activity", "====onCompletion====");}@Overridepublic boolean onError(MediaPlayer mp, int what, int extra) {Log.e("Main3Activity", "====onError====");return false;}
}
这篇关于视频播放三:Vitamio的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!