这回,我们不去使用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)); } }

使用效果建议自己测试


更多相关文章

  1. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. Android(安卓)Studio快捷键以及使用技巧——诺诺"涂鸦"记忆
  6. Android之提高Service优先级总结及android:persistent的使用
  7. Android:Android学习进阶路线
  8. Android(安卓)的设备节点
  9. Android(安卓)UI设计——ListView控件和ArrayAdapter适配器(二)

随机推荐

  1. Android(安卓)阅读 Office 文档,所有你能
  2. 关于AudioEffect使用过程中的构造以及处
  3. 又撸一年的代码!尽管我秃头还白发,我还是坚
  4. Android如何防止apk程序被反编译(尊重劳
  5. Android(安卓)Native进程间通信实例—Soc
  6. [原创] 如何在Android(安卓)Market赚钱 p
  7. 如何实现android程序的多屏适配
  8. 【全】Android官网MediaPlayer章节翻译与
  9. Android(安卓)6.0权限动态申请适配
  10. [Android]如何做一个崩溃率少于千分之三