要引入库 前面文章已经说过了 可以去看看
效果图:
接下来 布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<!-- ems宽度几个字符 -->
<EditText
android:id="@+id/et_url"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="12"
android:text="请输入url" />
<Button
android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="startPlay"
android:text="Play" />
</LinearLayout>
<io.vov.vitamio.widget.VideoView
android:id="@+id/surface_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="openVideo"
android:text="openvideo1" />
</LinearLayout>
java代码:
package com.renaikx.vitamioplayer;
import io.vov.vitamio.LibsChecker;
import io.vov.vitamio.MediaPlayer;
import io.vov.vitamio.MediaPlayer.OnPreparedListener;
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;
import android.os.Bundle;
import android.app.Activity;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText et_url;
private Button start;
private VideoView videoView;
private String path = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.videoview);
et_url = (EditText) findViewById(R.id.et_url);
start = (Button) findViewById(R.id.start);
videoView = (VideoView) findViewById(R.id.surface_view);
if (!LibsChecker.checkVitamioLibs(this))
return;
if (path == "") {
Toast.makeText(this, "请输入路径", 0).show();
return;
} else {
// 给播放视图设置播放路径
videoView.setVideoPath(path);
// 设置控制器
videoView.setMediaController(new MediaController(MainActivity.this));
// 让控件获得焦点
videoView.requestFocus();
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
// 设置视频或者音频播放速度default to 1.0,
mp.setPlaybackSpeed(1.0f);
}
});
}
}
public void startPlay(View v) {
String url = et_url.getText().toString();
path = url;
if (!TextUtils.isEmpty(url)) {
videoView.setVideoPath(url);
}
}
public void openVideo(View v) {
videoView.setVideoPath(path);
}
}
最主要权限配置 本人 因为忘记配权限 找了很久错 (居然不报错)
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-----------------旋转屏幕 就会重新加载Activity就没贴 可以查看源码 其实就是设置一个属性
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"