详解Android App中使用VideoView来实现视频播放的方法
作者:chenzheng_java 发布时间:2022-05-01 00:20:11
标签:Android,VideoView
通过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>
当然,我们也可以播放网络上的多媒体。


猜你喜欢
- 今天在云和学院学了很多,我这次只能先总结一下C#中的虚方法和抽象的运用。理论:虚方法:用virtual修饰的方法叫
- 最近尝试做了个listview的多选demo,网上看其他人的例子感觉不是很难,自己动手做了下,各种细节问题,没那么简单啊。既然做了,简单写个
- 一、基本概念Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intrane
- 泛型概述我们都知道集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成Object类型。当我们在取出每一个对象,并且进
- Win32的API函数是微软自己的东西,可以直接在C#中直接调用,在做WinForm时还是很有帮助的。有时候我们之直接调用Win32 的AP
- 2015年Google IO大会分布了DataBinding库,能够更快捷便利的实现MVVM结构模式。但是,通过对DataBinding的学
- 通过自定义view实现仿iOS实现滑动两端的点选择时间的效果效果图自定义的view代码public class Ring_Slide2 ex
- 发现问题在C#连接SQL Server时,明明添加了引用using System.Data.SqlClient;却出现了下面这种情况:原因:
- 程序在32位操作系统上运行正常,在64位操作系统上运行读卡功能提示”试图加载格式不正确“。-------------------------
- 一、opsForValue用法key:字符串,value:可以是任意对象Object(例如String、具体对象如自定义类Student等)
- 最近一直在使用邮件发送功能,老是遇到问题,后面才找到,原来并不是程序问题引起的,我吧问题整出来, javax.mail.SendFailed
- 多数据源配置首先是配置文件这里采用yml配置文件,其他类型配置文件同理我配置了两个数据源,一个名字叫ds1数据源,一个名字叫ds2数据源,如
- 本文实例讲述了C#实现类似新浪微博长URL转短地址的方法。分享给大家供大家参考。具体如下:一、前台判断用户输入URL的JS代码如下。func
- 由于项目需要在NDK中使用网络开发,对于c语言网络开发来说,libcurl库是个很不错的选择,但android系统中并没有自带该库,所以就得
- Android 应用冷启动时,需要从Application开始启动,加载时间就会比较长,容易出现白色或黑色闪屏,观察一下手机上一些 其他AP
- 1.OkHttp发起网络请求可以通过OkHttpClient发起一个网络请求//创建一个Client,相当于打开一个浏览器 OkHttpCl
- 今天在接手别人的一个项目的时候遇到一个坑,坑死我了;是一个打包的问题,好不容易我把代码写完了准备打包测试了,结果java -jar xxx.
- 本文实例讲述了Java实现的不同图片居中剪裁生成同一尺寸缩略图功能。分享给大家供大家参考,具体如下:因为业务需要,写了这样一个简单类,希望能
- 我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区
- Mybatis @Select、foreachforeach属性属性描述item循环体中的具体对象。支持属性的点路径访问,如item.age