详解Android App中使用VideoView来实现视频播放的方法
作者:chenzheng_java 时间:2022-05-01 00:20:11
通过VideoView播放视频的步骤:
1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件
2、调用VideoView的如下两个方法来加载指定的视频
(1)setVidePath(String path):加载path文件代表的视频
(2)setVideoURI(Uri uri):加载uri所对应的视频
3、调用VideoView的start()、stop()、psuse()方法来控制视频的播放
VideoView通过与MediaController类结合使用,开发者可以不用自己控制播放与暂停
package cn.com.chenzheng_java;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.widget.MediaController;
import android.widget.VideoView;
import android.widget.MediaController.MediaPlayerControl;
public class VideoActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.video);
VideoView videoView = (VideoView)findViewById(R.id.videoView1);
/***
* 将播放器关联上一个音频或者视频文件
* videoView.setVideoURI(Uri uri)
* videoView.setVideoPath(String path)
* 以上两个方法都可以。
*/
videoView.setVideoPath("data/yueding.mp3");
/**
* w为其提供一个控制器,控制其暂停、播放……等功能
*/
videoView.setMediaController(new MediaController(this));
/**
* 视频或者音频到结尾时触发的方法
*/
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.i("通知", "完成");
}
});
videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.i("通知", "播放中出现错误");
return false;
}
});
}
}
video.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="horizontal">
<VideoView android:layout_height="match_parent" android:id="@+id/videoView1"
android:layout_width="wrap_content"></VideoView>
</LinearLayout>
当然,我们也可以播放网络上的多媒体。
标签:Android,VideoView
0
投稿
猜你喜欢
在Winform和WPF中注册全局快捷键实现思路及代码
2023-03-13 23:00:25
jvm crash的崩溃日志详细分析及注意点
2022-12-18 07:49:00
JAVA如何定义构造函数过程解析
2023-11-04 08:15:09
关于jdk环境变量的配置方式解读
2023-04-22 14:53:05
C#实现六大设计原则之依赖倒置原则
2023-06-27 04:02:57
C#中重载重写和覆盖的定义与区别
2022-04-23 09:25:34
WPF InkCanvas基本操作方法详解
2023-07-29 06:26:59
android中ProgressDialog与ProgressBar的使用详解
2023-04-23 16:19:58
Java多线程编程详细解释
2022-12-22 10:19:41
spring缓存cache的使用详解
2023-03-28 11:36:14
C#微信公众平台开发之高级群发接口
2021-08-19 15:44:28
Java二维数组与稀疏数组相互转换实现详解
2022-10-28 07:27:33
Android中实现EditText密码显示隐藏的方法
2022-04-13 22:33:56
IDEA maven项目中刷新依赖的两种方法小结
2022-10-06 05:52:03
SpringBoot集成SpringSecurity和JWT做登陆鉴权的实现
2023-01-29 09:34:57
java按钮控件数组实现计算器界面示例分享
2021-09-12 22:37:59
java实现Xml与json之间的相互转换操作示例
2023-06-21 13:30:39
java8 stream的多字段排序实现(踩坑)
2023-10-22 11:06:31
kafka的消息存储机制和原理分析
2022-02-01 13:07:39
超实用的Java快捷键(总结)
2022-04-06 20:56:51