利用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 ...
随机推荐
- Selenium WebDriver-通过ActionChains实现页面元素拖拽
#encoding=utf-8 import unittest import time import chardet from selenium import webdriver class Visi ...
- 如何理解C4.5算法解决了ID3算法的偏向于选择取值较多的特征问题
如何理解C4.5算法解决了ID3算法的偏向于选择取值较多的特征问题 考虑一个极端情况,某个属性(特征)的取值很多,以至于每一个取值对应的类别只有一个.这样根据\[H(D) - H(D|A)\]可以得知 ...
- LiveScript 流程控制、循环以及列表推导式
The LiveScript Book The LiveScript Book Generators and Yield 你可以在你的 LiveScript 代码中使用 Ecmascript ...
- Linux问题故障定位
CPU 针对应用程序,通常关注的是内核CPU调度器功能和性能. 线程的状态分析主要是分析线程的时间用在什么地方,而线程状态的分类一般分为: a. on-CPU:执行中,执行中的时间通常又分为用户态时间 ...
- Codeforces834D - The Bakery
Portal Description 给出一个\(n(n\leq35000)\)个数的数列\(\{a_i\}\)和\(m(m\leq50)\).将原数列划分成\(m\)个连续的部分,每个部分的权值等于 ...
- CF911F Tree Destruction (树的直径,贪心)
题目链接 Solution 1.先找出树的直径. 2.遍历直径沿途的每一个节点以及它的子树. 3.然后对于每个非直径节点直接统计答案,令直径的两个端点为 \(x_1,x_2\) . \[Ans=\su ...
- Miracast HDCP 等知识
Miracast 通讯架构中关于视频数据处理流程的部分.整个视频数据处理及传输的流程,大致上分为几个阶段,一开始将撷取到系统的画面及声音进行压缩,而压缩后的影音数据再转为基本封包串流(Packetiz ...
- Django模板遍历字典的方法
使用Python + Django做Web开发时,有时需要在view中传递一个字典给模板(template),如何在模板中遍历字典呢? 下面介绍两种方法: views.py代码如下: dicts = ...
- elasticsearch优酷教程
犹学达的教程,可以用youku搜索一下,很不错
- 06深入理解C指针之---指针操作和比较
该系列文章源于<深入理解C指针>的阅读与理解,由于本人的见识和知识的欠缺可能有误,还望大家批评指教. 指针作为一种特殊类型的变量,必须遵守C语言中变量先声明后使用的原则.本节内容中指针的操 ...