有两种方法可以用来播放视屏,一种是用videoview,另外一种是用surfaceview,两面分别介绍两种方法:
一、用VideoView播放视屏。
首先,需要xml文件中加入VideoView,然后在sdcard中放入mp4文件或3gp文件,然后直接播放就可以了。代码如下
xml代码
![Android学习笔记——播放sdcard上的视频 - cc - 創王cc](http://img170.ph.126.net/9WjgYbK0Ej5ClqRWeYU5zA==/1596526067904126298.png)
java代码
![Android学习笔记——播放sdcard上的视频 - cc - 創王cc](http://img856.ph.126.net/RHrRwBTtBT89WpCjtwlXUw==/2773935895484513498.png)
//之前试了很久,就是因为vv.setVideoPath("sdcard/video.mp4")不行,我也不知道为什么不行,后来用了下面函数就可以
![Android学习笔记——播放sdcard上的视频 - cc - 創王cc](http://img242.ph.126.net/qZHz8oJvpz8k9Q_51M6V_Q==/1427922556854539552.png)
第二、用surfaceview播放视屏:
首先,在xml文件里添加一个surfaceview,如下:
![Android学习笔记——播放sdcard上的视频,VideoView或SurfaceView - cc - 創王cc](http://img686.ph.126.net/NBy3jViQyb8Fh4HCDAwMjA==/1144195780330075846.png)
由于要使用surfaceholer,所以要实现以下接口:
声明SurfaceView对象sv,声明SurfaceHolder对象mHolder
![Android学习笔记——播放sdcard上的视频,VideoView或SurfaceView - cc - 創王cc](http://img154.ph.126.net/VJXKt2yGWtwDe07WJY8jGQ==/2264466187638548780.png)
在onCreate函数里获得这些对象,即实例化。
![Android学习笔记——播放sdcard上的视频,VideoView或SurfaceView - cc - 創王cc](http://img611.ph.126.net/aLi1gJwS_bLqkNal0NJrLg==/1919659341168366755.png)
定义一个函数playVideo(),用来播放视频:
![Android学习笔记——播放sdcard上的视频,VideoView或SurfaceView - cc - 創王cc](http://img840.ph.126.net/bc7DyOb0r0KpW8f9btUzuA==/1811291475134785288.png)
这是实现接口时要实现的方法:
![Android学习笔记——播放sdcard上的视频,VideoView或SurfaceView - cc - 創王cc](http://img161.ph.126.net/2wKRDVgdw1Z0N-xy8uiO1Q==/2156379796582071959.png)
![Android学习笔记——播放sdcard上的视频,VideoView或SurfaceView - cc - 創王cc](http://img161.ph.126.net/nCBMdFcYh4Wr2KPAF9TmdA==/2156379796582071964.png)
这样就可以了。。
将mp4文件放入sdcard文件夹中
转自:http://chuangwangcc.blog.163.com/blog/static/132303661201062624543512/