文档章节

videoview播放当前项目res/raw下视频

Jamsm
 Jamsm
发布于 2016/01/13 17:59
字数 280
阅读 120
收藏 5



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="mathc_parent"
android:orientation="vertical" >

<com.demo.CustomVideoView //自己写这个类,是可以固定videoview大小
android:id=“+id/videoview"
android:layout_width="match_parent"
android:layout_height="march_parent"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height+"match_parent"
android:orientation="horizontal"
android:gravity="center">
    <Button        //三个button 播放,暂停,重播
    android:id="+id/bt1"
    .../>
    
    <Button
    android:id="+id/bt2"
    .../>
    <Button
    android:id="+id/bt3"
    .../>
    </LinearLayout>
 </LinearLayout>

class CustomVideoView

public class CustomVideoView extends VideoView{
    public CustomVideoView(Context context) {
        super(context);
        }
    public CustomVideoView(Context context, AttributeSet attrs) {
        super(context, attrs);
        }
     public CustomVideoView(Context context,AttributeSet attrs, int defStyle) {
     super(context, attrs, defStyle);
     }
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec,heightMeasureSpec);
        //this.setMeasuredDimension(1024, 420);//这个是设置videoview大小,
        }
       }

Activity

1 在oncreate里 initview()  初始化

2 private void initview(){

vv = (CustomVideoView) view.findViewById(R.id.videoView);

vv.setVideoURI(Uri.parse("android.resource://"+getPackageName() +"/"+R.raw.test));//这是播放在项目里的视频,要放在 res/raw下 test是视频名

play = (Button) view.findViewById(R.id.play);

pause = (Button) view.findViewById(R.id.pause);

replay = (Button) view.findViewById(R.id.replay);

play.setOnClickListener(new MyClickListener());

pause.setOnClickListener(new MyClickListener());

replay.setOnClickListener(new MyClickListener());

}

class MyClickListener implements OnClickListener {

@Override

public void onClick(View v) {

    switch (v.getId()) {

        case R.id.play:

            if (!vv.isPlaying()) {

                vv.start(); // 开始播放

            }

                    break;

        case R.id.pause:    

            if (vv.isPlaying()) { vv.pause(); // 暂时播放} break;

        case R.id.replay:

            if (vv.isPlaying()) {vv.resume(); // 重新播放} break;

            default:break;

© 著作权归作者所有

Jamsm
粉丝 6
博文 75
码字总数 10707
作品 0
南京
私信 提问
利用onSaveInstanceState()方法保存Activity状态

Activity里的onSaveInstanceState()方法,虽然系统会自动调用它来保存Activity的一些数据,但当除它默认要保存的数据外,我们还要保存一些其他数据的时候, 我们就需要覆盖onSaveInstanceSta...

丁佳辉
2015/10/20
67
0
android 之MediaPlayer播放音频与SoundPool的区别

区别 说到音频,在android中有两种方法可是实现:SoundPool以及MediaPlaer。通过这两个类都可以实现在android设备上播放音频。 那这两个类有什么区别呢? SoundPool SoundPool适合一些短促、...

蛋蛋松
2017/11/03
0
0
android raw与assets区别

res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。 res/raw和assets的不同点: 1.res/raw中的文件会被映射到R.java文件中,访问的时候...

亭子happy
2015/02/09
338
0
Android各种视频播放器使用

视频播放器在App是很常见的,有哪些视频播放器呢?具体情况该用哪款呢?这里我总结了常用的视屏播放Videoview、mediaplayer+surfaceview、vitamio、jcplayer的使用方法并写了各自的播放示例。...

翻滚吧李博
2017/12/04
0
0
一起学Android之音频视频

概述 Android多媒体框架支持各种常见的媒体类型,可以很容易地将音频、视频和图像集成到App中。通过MediaPlayer Api,可以从应用程序资源(RAW)、文件系统或网络上数据流资源来播放音频或视...

Alan.hsiang
07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

 介绍一款优秀的通用管理权限快速开发框架

这是一套以权限管理为主的轻量化快速开发框架,配置有流程、专业表单、权限、app、企业微信等基础功能模块,在开发通用软件的效率上很有优势。 软件平台常用研发需求分析 《那些年我们一起做...

我想造火箭
26分钟前
8
0
ElasticDL:蚂蚁金服开源基于 TensorFlow 的弹性分布式深度学习系统

9 月 11 日,蚂蚁金服在2019谷歌开发者大会上海站上开源了 ElasticDL 项目,这是业界首个基于 TensorFlow 实现弹性深度学习的开源系统。 开源地址为:https://github.com/sql-machine-learni...

SOFAStack
33分钟前
4
0
CSS--渐变

一、什么是渐变 多种颜色平缓变化的一种显示效果 二、渐变的主要元素 色标:一种颜色,以及出现的位置,一个渐变至少两种色标 三、渐变的分类 1、线性渐变 以直线的方式来填充渐变色 backgr...

wytao1995
48分钟前
13
0
Java通过模板生成PDF再转换为图片

1、添加maven依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.1</version></dependency><dependency> <g......

醉美閑聖
55分钟前
5
0
SpringBoot-MVC RequestBody中LocalDateTime的自适应配置

请求的json报文中可能会出现 一下几种: ['2019-01-01','2019-01-01 12:03:34','20190101120334'] 但是接收的Request实体类日期字段是LocalDateTime类型 LocalDateTime applyDate; 希望的情况......

汉堡OSC
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部