通过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

android:layout_width="match_parent" android:layout_height="match_parent"

android:orientation="horizontal">

android:layout_width="wrap_content">

当然,我们也可以播放网络上的多媒体。

视频播放的方法Android,详解Android App中使用VideoView来实现视频播放的方法相关推荐

  1. timerpickerview使用_详解iOS App中UIPickerView滚动选择栏的添加方法

    1.UIPickerView的宽度和高度是固定的,纵向是320216,横向是568162 2.属性: @property(nonatomic,readonly)NSInteger numberOfCo ...

  2. php图片涂鸦,IOS_详解iOS App中图片的线段涂鸦功能的添加方法,接下来我们要讲图片的涂鸦, - phpStudy...

    详解iOS App中图片的线段涂鸦功能的添加方法 接下来我们要讲图片的涂鸦,我们分开一点一点拓展,先给图片上划线 创建项目 起名testAddLine 接下来我们在默认生成的ViewControlle ...

  3. 安装linux子系统报错,详解win10电脑中安装linux子系统出现错误0x80070057方法

    现在很多的小伙伴在安装系统的时候都是选择安装双系统的操作的,那其实可以根据需求安装 Win10的系统还有linux系统的是很常见的开发用户的程序的选择,win10电脑就内置有linux子系统的,安装出 ...

  4. python不是内部或外部命令的解决方法_详解python常见报错--NO MODULE NAMED _SQLITE3解决方法...

    概述 在安装一些基于python的程序时,经常遇到"ImportError: No module named _sqlite3"问题. 下面记录下解决方法. 解决办法 1.编译sq ...

  5. Java中throw re_详解Java编程中throw和throws子句的使用方法

    java throw:异常的抛出程序可以用throw语句抛出明确的异常.throw语句的通常形式如下: throw throwableinstance; 这里,throwableinstance一定是 ...

  6. Python字典(Dictionary)的setdefault()方法的详解,字典中的赋值技巧

    定义 1.字典的setdefault() 方法和 get()方法类似,返回指定键的值,如果键不在字典中,将会添加键值对,值默认为None. 2.setdefault()与get()区别: setdef ...

  7. c语言remove命令和erase,详解C++ list中erase与remove函数的使用

    C语言中的erase与remove函数一直让小编很迷糊,因为他们的功能都是一样的,本文是详解C++ list中erase与remove函数的使用方法,接下来爱站技术频道小编带你一起来了解吧! eras ...

  8. android+发邮件,Android发送邮件的方法实例详解

    Android发送邮件的方法实例详解 时间:2021-05-20 本文实例讲述了Android发送邮件的方法.分享给大家供大家参考,具体如下: 在android手机中实现发送邮件的功能也是不可缺少的. ...

  9. 现在详解Android App AllowBackup配置带来的风险

    现在位置:  首页 >  文章 >  移动安全 > 正文 详解Android App AllowBackup配置带来的风险 2015 /3/11 1:27 10,105 评论 3 条 ...

最新文章

  1. ubuntu之路——day8.1 深度学习优化算法之mini-batch梯度下降法
  2. 过滤“清扬男士”Flash广告
  3. GitHub上那些值得一试的JAVA开源库--转
  4. Android Framework常用工具及LOG调试方法
  5. 【转】关于eclipse和javac编译结果不一致的问题的分析与解决
  6. java_basic_review(5) java继承
  7. Servlet中获取请求头的数据
  8. 【渝粤教育】国家开放大学2018年春季 3896T人文英语1 参考试题
  9. WebApp 开发中常用的代码片段
  10. C# 用Attribute实现AOP事务
  11. 8位模型计算机设计与仿真
  12. Android下实现Google街景
  13. 应用wps对证件照进行更改颜色,更换只需三步。
  14. html 文档在线查看,在网页中在线查看文档(doc、docx 、xls 、xlsx、 pdf 、swf )
  15. 般若堂--Spring Boot系列之参数校验
  16. Keras之Conv2D
  17. tm4驱动外接模块系列(一)--------有dmp库的mpu6050
  18. Tuxera ntfs读写插件工具v2022版本 支持macOS15系统
  19. opencv——图像中关于轮廓的一些操作
  20. 无限宝无法连接服务器是什么问题,无限宝客户端安装问题

热门文章

  1. 移动APP的开发迭代离不开测试,你搞清楚其中的关键点了吗?
  2. Unity3dShader_边缘发光效果
  3. [转] Boost智能指针——scoped_ptr
  4. C# AndrewUtil.dll 在小博中发布分享(翻译组件)
  5. 必须学会的几种网络测试方法
  6. MAC地址表满,广播的去向
  7. 暴雪帝国倾倒前的颓萎:积重难返辉煌渐淡
  8. 制造业如何将工人师傅的隐性技能转化为显性知识?
  9. SQL获取刚插入的记录的自动增长列ID的值
  10. golang 位操作