5步学会使用VideoView播放视频
作者:TaooLee 发布时间:2023-09-12 05:51:07
标签:VideoView,播放视频
我们可以试想ImageView能显示图片,而VideoView就是用来显示视频的。
使用VideoView播放视频的步骤如下
【1】在界面布局中定义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=".MainActivity">
<VideoView
android:id="@+id/videoview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<Button
android:id="@+id/button"
android:text="播放"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
【2】调用如下两个方法加载指定视频
setVideoPath(String Path);加载路径下的视频
setVideoURL(URL url);加载url所对应的视频。
mVideoView.setVideoPath(Environment.getExternalStorageDirectory()+"/aa.mp4");
【3】权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
【4】调用
start()、stop()、pause()控制播放
【5】实际中常常结合MediaController类,它提供一个友好的图像控制界面控制视频播放;
mVideoView.setMediaController(new MediaController(MainActivity.this));
完整程序代码如下
public class MainActivity extends Activity {
private VideoView mVideoView;
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mVideoView= (VideoView) findViewById(R.id.videoview);
mButton= (Button) findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//得到sdcard下面aa.mp4的視頻文件
//两种调用方式
// File videofile =new File("/mut/extSdCard/DCIM/Camera/20150915_160202.mp4");
// mVideoView.setVideoPath(videofile.getAbsolutePath());
mVideoView.setVideoPath(Environment.getExternalStorageDirectory()+"/20150915_160202.mp4");
mVideoView.setMediaController(new MediaController(MainActivity.this));
mVideoView.start();
}
});
}
}
来源:https://blog.csdn.net/TaooLee/article/details/48540793


猜你喜欢
- 本文实例为大家分享了unity实现玻璃效果的具体代码,供大家参考,具体内容如下一、使用Cubemap,做一个假反射shader代码如下:Sh
- 本文实例讲述了Android开发之开关按钮控件ToggleButton简单用法。分享给大家供大家参考,具体如下:先来看看运行效果:具体代码如
- 在前一期中,我们做了悬浮头部的两个tab切换和下拉刷新效果,后来项目中要求改成三个tab,当时就能估量了一下,如果从之前的改,也不是不可以,
- 高分配速率(High Allocation Rate)分配速率(Allocation rate)表示单位时间内分配的内存量。通常使用&nbs
- 这里是通过对回退键操作的阻断并重写实现:当按下回退键,弹出提示框选择是否退出,是则执行退出代码,否则什么都不做。在Mianactivity中
- web采集的数据为 %u6B63%u5F0F%u4EBA%u5458,需要读取并转换为python对象,想了下不调用Javascript去e
- 今天做了一个java对象转Map的例子,执行的时候报错了,如下:Exception in thread "main" j
- 在C#中,在处理字符串拼接的时候,使用StringBuilder的效率会比硬拼接字符串高很多。到底有多高,如下:static void Ma
- 1. 运行环境 Enviroment当 MyBatis 与不同的应用结合时,需要不同的事务管理机制。与 Spring 结合时,由 Sprin
- 本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下User.javaimport java.util.Scann
- 最近有一个项目要用到年份周期,用于数据统计图表展示使用,当中用到年份周期,以及年份周期所在的日期范围。当初设想通过已知数据来换算年份周期,经
- 本文实例展示了DevExpress实现为TextEdit设置水印文字的方法,是一个很实用的技巧。分享给大家供大家参考。关键代码如下:publ
- 字符串的编码方式UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5
- 代码:package com.lwj.test.proxy;import java.lang.reflect.InvocationHandl
- 在看KMP算法时,想要简单的统计一下执行时间和性能。得出的结论是: Java的String的indexOf方法性能最好,其次是KMP算法,其
- String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对
- 本文实例为大家分享了java聊天工具的具体制作代码,供大家参考,具体内容如下首先建立一个工程,导入数据库驱动工程图解释一下 entity包是
- 前言我们在首次使用内容类 App 的时候,不少都会让我们选择个人偏好。这种通常是通过标签来实现,比如列举出一系列的技术栈,然后让我们选择。通
- 什么是EJB?EJB 是 Java 企业Bean, 是JavaEE服务端 企业组件模型,它的设计目标与核心应用是部署分布式应用程序。话不多说
- 本文实例讲述了Android实现取消GridView中Item选中时默认的背景色。分享给大家供大家参考,具体如下:1. 取消Gr