VideoView
常用方法:
方法名称
|
描述
|
public void setVideoPath (String path)
|
加载path路径的文件
|
public void setVideoURI (Uri uri)
|
加载uri所对应的视频
|
public void start ()
|
开始
|
public void seekTo (int msec)
|
定位
|
public void pause ()
|
暂停
|
public void stop()
|
停止
|
public void setMediaController (MediaController controller)
|
设置MediaController对象
|
关于MediaController类
这个类也是android.widget包下的,它是一个包含控件MediaPlayer多媒体播放的组件,它含有“播放”、暂停、”、“快倒”、“快进”和进步条的一个组件
构造方法
方法名称
|
描述
|
public MediaController (Context context, AttributeSet attrs)
|
通过Context对象和AttributeSet对象来创建MediaController对象
|
public MediaController (Context context, boolean useFastForward)
|
通过Context对象和指定是否允许用户控制进度。也就是是否有“快进”、“快退”按钮。如果设置为false就不会显示显示(如下图片一)
|
public MediaController (Context context)
|
通过Context来创建MediaController对象
|
常用方法
方法名称
|
描述
|
public void hide()
|
设置隐藏MediaController
|
public void show()
|
设置显示MediaController
|
public void show(int timeout)
|
设置MediaController显示的时间以毫秒计算。如果设置为0则一直到调用hide()方法才隐藏
|
public void setMediaPlayer (MediaController.MediaPlayerControl player)
|
设置MediaPlayer使之与要绑定的控件绑定在一起其参数是一个MediaController.MediaPlayerControl 静态接口的对象,(而VideoView是MediaController.MediaPlayerControl静态接口的子实现类,这就使得我们可以更好的控制我们的视频播放进度)
|
图片一
如果用public MediaController (Contextcontext, boolean useFastForward)构造方法来创建MediaController对象指定useFastForward=false就显示成这样的效果
实现效果:show和hide两个按钮用于控制MediaController的显示与隐藏
编码实现:
布局文件代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<VideoView
android:id="@+id/video"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
Activity代码:
package com.jiahui.videoview;
import java.io.File;
import android.app.Activity;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;
public class VideoViewDemoActivity extends Activity {
private VideoView videoView;
private Button btnHide, btnShow;
MediaController mediaController;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.main);
videoView = (VideoView) this.findViewById(R.id.video);
btnShow = (Button) this.findViewById(R.id.btnShow);
btnHide = (Button) this.findViewById(R.id.btnHide);
// 使用这种方式创建MediaController将不会显示“快进”和“快退”两个按钮
// mediaController = new MediaController(this,false);
mediaController = new MediaController(this);
File videoFile = new File("/mnt/sdcard/movie.3gp");
// 先判断这个文件是否存在
if (videoFile.exists()) {
System.out.println("文件存在");
videoView.setVideoPath(videoFile.getAbsolutePath());
System.out.println(videoFile.getAbsolutePath());
// 设置VideView与MediaController建立关联
videoView.setMediaController(mediaController);
// 设置MediaController与VideView建立关联
mediaController.setMediaPlayer(videoView);
// 让VideoView获取焦点
videoView.requestFocus();
// 开始播放
videoView.start();
} else {
Toast.makeText(this, "文件不存在", Toast.LENGTH_LONG).show();
}
btnShow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaController != null) {
// 使用0的话就一直显示直到调用hide()
mediaController.show(0);
}
}
});
btnHide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaController != null) {
mediaController.hide();
}
}
});
}
}
如需转载引用请注明出处:http://blog.csdn.net/jiahui524
分享到:
相关推荐
为了在Android应用中播放视频,Android提供了VideoView控件,它就是一个位于android.widget包下的控件,它的作用与ImageView类似,只是ImageView用于显示图片,而VideoView用于播放视频。 使用VideoView播放视频的...
例子中使用VideoView控件播放视频。
Android 使用videoview播放Rtsp视频 demo http://blog.csdn.net/huanzhongying/article/details/53032909
android视频播放,利用VideoView播放视频,编译环境为AndroidStudio,如果没有该编译器可以查找单独代码文件进行查看
Android之VideoView播放视频
本示例使用 VideoView 播放视频,功能上与 "使用MediaPlayer 配合 SurfaceView" 来播放视频 很相似
Android Media-使用VideoView播放SD卡中的视频
android videoview视频播放
简单的android videoView视频播放,希望对大家会有帮助!
本文将讲解使用VideoView播放本地视频,使用起来相对简单,在其中添加了MediaController类来实现更多的视频控制功能。
android VideoView播放视频-source.rar
使用VideoView播放视频简单、方便,但有些早期的开发者还是更喜欢使用MediaPlayer来播放视频,但由于MediaPlayer主要用于播放音频,因此它没有提供图像输出界面,此时就需要借助于SurfaceView来显示MediaPlayer播放...
Android播放视频,包含系统自带VideoView控件,和自定义VideoView控件,可全屏播放,案例包含了本地视频和网络视频。
Android-ScalableVideoView可以缩放的VideoView.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android studio 的videoView播放网络视频 demo,直接把项目导入 工程中运行可用。
Androidstudio 环境下的源码。 编译不通过请修改 project的build.gradle 的 classpath 'com.android.tools.build:gradle:1.5.0' app的build.gradle的 compileSdkVersion 23 buildToolsVersion "23.0.3" default...
通过VideoView播放视频的步骤: 1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件 2、调用VideoView的如下两个方法来加载指定的视频 (1)setVidePath(String path):加载path文件代表的视频 (2...
VideoView全屏 左右控制声音亮度
Android提供了 VideoView组件,它的作用与ImageView类似,只是ImageView用于显示图片,而VideoView用于播放视频,下面这篇文章主要给大家介绍了关于利用VideoView出现无法播放此视频问题的解决方法,需要的朋友可以...
本Demo实现了自定义样式的MediaController以及结合VideoView的半屏视频播放和全屏视频播放