利用VideoView播放视频
package com.qianhua.ui; |
002 |
003 |
import android.app.Activity; |
004 |
import android.content.Intent; |
005 |
import android.media.MediaPlayer; |
006 |
import android.net.Uri; |
007 |
import android.os.Bundle; |
008 |
import android.os.Environment; |
009 |
import android.widget.MediaController; |
010 |
import android.widget.MediaController.MediaPlayerControl; |
011 |
import android.widget.VideoView; |
012 |
013 |
import com.qianhua.R; |
014 |
015 |
public class VideoActivity extends Activity implements MediaPlayerControl |
016 |
VideoView |
017 |
018 |
@Override |
019 |
protected void onCreate(Bundle |
020 |
// |
021 |
super .onCreate(savedInstanceState); |
022 |
setContentView(R.layout.activity_video); |
023 |
videoView |
024 |
if (Environment.getExternalStorageState().equals( |
025 |
// |
026 |
videoView.setVideoURI(Uri.parse(Environment.getExternalStorageDirectory().getPath() "/" + "mm.mp4" )); |
027 |
MediaController new MediaController( this ); |
028 |
videoView.setMediaController(mediaController); |
029 |
videoView.start(); |
030 |
videoView.requestFocus(); |
031 |
|
032 |
videoView.setOnCompletionListener( new MediaPlayer.OnCompletionListener() |
033 |
|
034 |
@Override |
035 |
public void onCompletion(MediaPlayer |
036 |
// |
037 |
Intent new Intent(VideoActivity. this ,PersonLoginUI. class ); |
038 |
startActivity(intent); |
039 |
} |
040 |
}); |
041 |
} |
042 |
043 |
} |
044 |
045 |
@Override |
046 |
public boolean canPause() |
047 |
// |
048 |
videoView.canPause(); |
049 |
return false ; |
050 |
} |
051 |
052 |
@Override |
053 |
public boolean canSeekBackward() |
054 |
// |
055 |
return false ; |
056 |
} |
057 |
058 |
@Override |
059 |
public boolean canSeekForward() |
060 |
// |
061 |
return false ; |
062 |
} |
063 |
064 |
@Override |
065 |
public int getBufferPercentage() |
066 |
// |
067 |
return 0 ; |
068 |
} |
069 |
070 |
@Override |
071 |
public int getCurrentPosition() |
072 |
// |
073 |
return 0 ; |
074 |
} |
075 |
076 |
@Override |
077 |
public int getDuration() |
078 |
// |
079 |
return 0 ; |
080 |
} |
081 |
082 |
@Override |
083 |
public boolean isPlaying() |
084 |
// |
085 |
return false ; |
086 |
} |
087 |
088 |
@Override |
089 |
public void pause() |
090 |
// |
091 |
if (videoView.isPlaying()){ |
092 |
videoView.pause(); |
093 |
} |
094 |
095 |
} |
096 |
097 |
@Override |
098 |
public void seekTo( int arg0) |
099 |
// |
100 |
videoView.seekTo(arg0); |
101 |
102 |
} |
103 |
104 |
@Override |
105 |
public void start() |
106 |
// |
107 |
if (!videoView.isPlaying()) |
108 |
videoView.start(); |
109 |
} |
110 |
111 |
} |
112 |
113 |
} |
利用VideoView播放视频的更多相关文章
- Android VideoView播放视频
今天介绍一下Android的视频播放控件VideoView,下面介绍一下VideoView的使用步骤: 1.在界面布局中定义VideoView组件,或者在程序中创建VideoView组件. 2.调用V ...
- Android--使用VideoView播放视频
承香墨影 Android--使用VideoView播放视频 前言 之前有讲过如何使用SurfaceView配合MediaPlayer播放视频,其实Android还为开发人员提供了另外一种更简单 ...
- 使用VideoView播放视频
为了在Android应用中播放视频,Android提供了VideoView组件,它就是一个位于android.widget包下的组件,它的作用与ImageView类似,只是ImageView用于显示图 ...
- Android开发之使用VideoView播放视频
Android提供了 VideoView组件.它的作用与ImageView类似,仅仅是ImageView用于显示图片.而VideoView用于播放视频. 使用VideoView播放视频的过程例如以下: ...
- videoview 播放视频
-videoVIew 继承SurfaceView 使用android的VideoView来播放一个视频,步骤是: 1,在xml中创建一个videoView, 2,在java中导入,然后创建一个Medi ...
- android采用videoView播放视频(包装)
//android播放视频.用法:于androidManifest.xml添加activity, // <activity android:name=".PlayVideo" ...
- Android 视频播放器 (一):使用VideoView播放视频
一.简介 作为Android开发,我们不可避免的会接触到视频播放,VideoView做为最简单的播放器,我们是不应该不会的. 下面简单介绍一下VideoView: VideoView是使用MediaP ...
- VideoView播放视频——Android
Android为开发人员提供了一种简单的播放视频媒体的方式,那就是VideoView,本篇博客就来讲讲VideoView如何播放视频,最后将以一个简单的Demo演示. VideoView VideoV ...
- Android中使用VideoView 播放视频
VideoView一般结合MediaController类使用,它会提供一个友好的图形界面,通过该界面可以控制视频的播放 package com.test.videoview; import andr ...
随机推荐
- iOS ifdef ifndef endif
#ifdef DEBUG //标识符//定义过执行#else//未定义过执行#endif #ifndef DEBUG//标识符//未定义过执行#else//定义过执行#endif #if (5> ...
- 06-python进阶-多线程下载器练手
我们需要用python 写一个多线程的下载器 我们要先获取这个文件的大小 然后将其分片 然后启动多线程 分别去下载 然后将其拼接起来 #!/usr/bin/env python#coding:utf- ...
- python面向对象、模块讲解
(1)模块的介绍: 1.什么是模块 模块是一系列功能的集合体 常见的模块形式(自定义模块.第三方模块.内置模块): 1.一个module.py文件就是一个模块,文件名是module.py,而模 ...
- 浅谈android反调试之 签名校验
反调试原理 很多时候,我们都需要进行修改修改应用程序的指令,然后重打包运行,重新打包就需要充签名. 利用签名的变化我们用于反调试.反调试实现代码如下: 为了更加隐藏,比较函数可能在SO层进行实现,如下 ...
- 都系坤坤-微信助手V 0.1,解放双手发信息
端午节刚过,相信大家在端午节都收到不少微信祝福信息,有复制长篇大论的祝福语群发的,有人工手打的简单祝福群发,我更喜欢人工手打带上称呼的祝福信息,这样看起来更加亲切. 那么问题来了,当你的通讯录里好友多 ...
- djang中的request.user对象中的方法
print(dir(request.user)) ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', ...
- Vue列表渲染,改变数据视图层监测不到的问题
由于 JavaScript 的限制, Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = newValue 当你修改数组的长度时,例 ...
- 2017.8.2 Noip2018模拟测试赛(十八)
日期: 八月二日 总分: 300分 难度: 提高 ~ 省选 得分: 40分(又炸蛋了!!) 题目列表: T1:分手是祝愿 T2:残缺的字符串 T3:树点涂色 赛后心得: 哎,T1求期望,放弃. ...
- Codevs 3578 无线网络发射器选址== NOIP 2014 Day2 T1
3578 无线网络发射器选址 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 白银 Silver 题目描述 Description 随着智能手机的日益普及,人们对无线网的需求日益增大. ...
- 两个时间相差多少 .net中的timespan应用
原文发布时间为:2008-10-31 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...