详解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
  • asp之家 软件编程 m.aspxhome.com