使用VideoView播放视频
为了在Android应用中播放视频,Android提供了VideoView组件,它就是一个位于android.widget包下的组件,它的作用与ImageView类似,只是ImageView用于显示图片,VideoView用于播放视频。
使用VideoView播放视频的步骤如下:
1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件。
2、调用VideoView的如下两个方法来加载指定视频:
setVideoPath(String path):加载path文件所代表的视频。
setVideoURI(Uri uri);加载uri所对应的视频‘
3、调用VideoView的start()、stop()、pause()方法来控制视频播放。
使用VideoView,还需要结合MediaController类,它的作用是提供一个友好的图形控制界面,通过该控制界面来控制视频的播放。
VideoView的界面布局文件如下:
’
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".VideoViewTest" >
<!-- 定义VideoView播放视频 -->
<VideoView
android:id="@+id/video"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
程序代码如下:
import java.io.File;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.PixelFormat;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;
public class VideoViewTest extends Activity {
VideoView videoView;
MediaController mController;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.activity_video_view_test);
//获取界面上的VideoView组件
videoView = (VideoView) findViewById(R.id.video);
//创建MediaController对象
mController = new MediaController(this);
File video = new File("/mnt/sdcard/movie.mp4");
if(video.exists()){
videoView.setVideoPath(video.getAbsolutePath());
//设置VideoView与MediaController建立关联
videoView.setMediaController(mController);
//设置MediaController与VideoView建立关联
mController.setMediaPlayer(videoView);
//让VideoView获取焦点
videoView.requestFocus();
}
}
}
运行该程序可能会遇到一些问题,比如使用了一些非标准的MP4、3GP文件,那么该应用程序将无法播放,建议自行使用使用手机录制一段兼容各种手机的、标准的MP4、3GP视频文件。
使用VideoView播放视频的更多相关文章
- Android VideoView播放视频
今天介绍一下Android的视频播放控件VideoView,下面介绍一下VideoView的使用步骤: 1.在界面布局中定义VideoView组件,或者在程序中创建VideoView组件. 2.调用V ...
- Android--使用VideoView播放视频
承香墨影 Android--使用VideoView播放视频 前言 之前有讲过如何使用SurfaceView配合MediaPlayer播放视频,其实Android还为开发人员提供了另外一种更简单 ...
- Android开发之使用VideoView播放视频
Android提供了 VideoView组件.它的作用与ImageView类似,仅仅是ImageView用于显示图片.而VideoView用于播放视频. 使用VideoView播放视频的过程例如以下: ...
- android采用videoView播放视频(包装)
//android播放视频.用法:于androidManifest.xml添加activity, // <activity android:name=".PlayVideo" ...
- Android 视频播放器 (一):使用VideoView播放视频
一.简介 作为Android开发,我们不可避免的会接触到视频播放,VideoView做为最简单的播放器,我们是不应该不会的. 下面简单介绍一下VideoView: VideoView是使用MediaP ...
- VideoView播放视频——Android
Android为开发人员提供了一种简单的播放视频媒体的方式,那就是VideoView,本篇博客就来讲讲VideoView如何播放视频,最后将以一个简单的Demo演示. VideoView VideoV ...
- videoview 播放视频
-videoVIew 继承SurfaceView 使用android的VideoView来播放一个视频,步骤是: 1,在xml中创建一个videoView, 2,在java中导入,然后创建一个Medi ...
- Android中使用VideoView 播放视频
VideoView一般结合MediaController类使用,它会提供一个友好的图形界面,通过该界面可以控制视频的播放 package com.test.videoview; import andr ...
- 【Android 多媒体应用】使用 VideoView 播放视频
1.MainActivity.java import android.os.Bundle; import android.support.v7.app.AppCompatActivity; impor ...
随机推荐
- VS2013常用快捷方式
[原文出处]http://blog.csdn.net/lushuner/article/details/23688629 1.回到上一个光标位置/前进到下一个光标位置 1)回到上一个光标位置:使用组合 ...
- Codeforces Round #197 (Div. 2)
A.Helpful Maths 分析:将读入的字符转化为数字,直接排个序就可以了. #include <cstdlib> #include <cstring> #include ...
- 自学EF一些小笔记
一直在用DHhelper做MVC,感觉好山寨,也不怎么好用.决定开始学EF. 废话不多说开始记笔记..... EF就是把数据库表,存储过程,视图实例化,通过继承DbContext的一个类来操作数据实例 ...
- 学会使用JDK API
api是字典,知识过了一遍之后,剩下的就是实践+百度+api了
- Integer封装与拆箱
Integer封装与拆箱 简介: 目录: Integer自动封装的陷阱 Integer自动拆箱机制 Integer自动封装的陷阱 public class IntegerDemo { public s ...
- proxool在web环境中的使用
proxool在web环境中的使用 简介 Proxool连接池是sourceforge下的一个开源项目,这个项目提供一个健壮.易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接 ...
- CSS3_新特性预览
一.强大的CSS选择器 以前我们通常用class. ID 或 tagname 来选择HTML元素,CSS3的选择器强大的难以置信. 它们可以减少在标签中的class和ID的数量更方便的维护样式表.更 ...
- MapReduce工作原理
第一部分:MapReduce工作原理 MapReduce 角色•Client :作业提交发起者.•JobTracker: 初始化作业,分配作业,与TaskTracker通信,协调整个作业.•Tas ...
- php 新特性
PHP 5.6 1.可以使用表达式定义常量 https://php.net/manual/zh/migration56.new-features.php 在之前的 PHP 版本中,必须使用静态值来定义 ...
- 【转】android fragment 博客 学习
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37970961 自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fra ...