您的位置:首页 > 移动开发 > Android开发

android videoview的使用

2016-11-01 09:08 316 查看
这回,我们不去使用surfaceview来构建我们的播放器,而是使用android为我们封好的videoview

videoview是用来播放视频的控件,使用方法比较简单,而且很多东西都是系统为我们封装好了,不需要我们自己去构建,

实现过程:

1.实例化一个videoview

2.设置videoview的视频来源

这儿注意下,videoview有两个方法可以获得视频,分别是:

        videoview.setVideoPath(name);

       videoview.setVideoURI(uri);

两者区别在于一个是外部路径,一个是内部路径,

3.设置附加控件

在这儿,就因人而异了,有些人不喜欢系统的自带的控件,觉得丑,喜欢自己定义,但是有些人不这样认为,所以就有了分歧,我比较喜欢后者,所以就使用了系统自定义的,而且现在播放视频已经变成附加功能了,我就觉得没必要花费那么多时间去处理这玩意,所以就使用系统自带的控件

代码如下:代码注释简单粗暴,有问题的麻烦留言

/*
* 使用系统自带的videoview
* 事先存储好的MP4文件,还有使用假资源测试
*
*/

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;

public class MainActivity extends Activity {
private VideoView videoview;
private String name;
private Uri uri;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
videoview = new VideoView(MainActivity.this);
setContentView(R.layout.activity_main);
videoview = (VideoView) this.findViewById(R.id.videoview);
name = Environment.getExternalStorageDirectory() + "/videoview.mp4";

// 下面这种是百度找到的,较为麻烦,难理解,不采用
// Uri uri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://"
// + r.getResourcePackageName(R.drawable.calendar_days_01) + "/"
// + r.getResourceTypeName(R.drawable.calendar_days_01) + "/"
// + r.getResourceEntryName(R.drawable.calendar_days_01));
// 下面这种原理是文件会被上传成为包内的共享资源
uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.videoview);
Toast.makeText(MainActivity.this, uri.toString(), Toast.LENGTH_SHORT).show();
// 两者区别在于一个是外部,一个内部
// videoview.setVideoPath(name);
videoview.setVideoURI(uri);
Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();
// 设置控制器。使用系统默认的控制器
videoview.setMediaController(new MediaController(MainActivity.this));
}

}


使用效果建议自己测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android 控件