Android 播放视频示例
来源:互联网 发布:联合缴费软件下载 编辑:程序博客网 时间:2024/05/17 04:40
【分享】Android 播放视频示例
由于Android平台由Google自己封装、设计、提供的Java Dalvik 在算法处理效率上无法与C/C++ 或 ARM ASM 相提并论,在描述或移植一些本地语言的解码器上显得无能为力,目前整个平台仅支持MP4 的 H.264、3GP 和 WMV 视频解析。
Android内置的 VideoView类可以快速制作一个系统播放器,VideoView主要用来显示一个视频文件,我们先开看看VideoView类的一些基本方法。
方法 说明
getBufferPercentage 得到缓冲的百分比
getCurrentPosition 得到当前播放的位置
getDuration 得到视频文件的时间
isPlaying 是否正在播放
pause 暂停
resolveAdjustedSize 调整视频显示大小
seekTo 指定播放位置
setMediaController 设置播放控制器模式(播放进度条)
setOnCompletionListener 当媒体文件播放完时触发事件
setOnErrorListener 错误监听
setVideoPath 设置视频源路径
setVideoURI 设置视频源地址
start 开始播放
下面是一个小例子 首先在布局文件中创建VideoView布局,并且创建几个按钮(Button) 来实现对视频的操作,当我们点击“装载” 按钮时,将指定视频文件的路径,如下代码所示:
Java代码
?
代码片段,双击复制
01
02
03
04
05
/*设置路径*/
videoView.setVideoPath("/sdcard/test.mp4");
/*设置模式-播放进度条*/
videoView.setMediaController(new MediaController(Activity01.this));
videoView.requestFocus();
装载之后便可以通过start、pause 方法来播放和暂停,具体代码如下
Activity01
Java代码
?
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.yarin.android.Examples_07_03;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
public class Activity01 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* 创建VideoView对象 */
final VideoView videoView = (VideoView) findViewById(R.id.VideoView01);
/* 操作播放的三个按钮 */
Button PauseButton = (Button) this.findViewById(R.id.PauseButton);
Button LoadButton = (Button) this.findViewById(R.id.LoadButton);
Button PlayButton = (Button) this.findViewById(R.id.PlayButton);
/* 装载按钮事件 */
LoadButton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
/* 设置路径 */
videoView.setVideoPath("/sdcard/test.mp4");
/* 设置模式-播放进度条 */
videoView.setMediaController(new MediaController(
Activity01.this));
videoView.requestFocus();
}
});
/* 播放按钮事件 */
PlayButton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
/* 开始播放 */
videoView.start();
}
});
/* 暂停按钮 */
PauseButton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
/* 暂停 */
videoView.pause();
}
});
}
}
main.xml
Xml代码
?
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<VideoView
android:id="@+id/VideoView01"
android:layout_width="320px"
android:layout_height="240px"
/>
<Button android:id="@+id/LoadButton"
android:layout_width="80px"
android:layout_height="wrap_content"
android:text="装载"
android:layout_x="30px"
android:layout_y="300px"
/>
<Button android:id="@+id/PlayButton"
android:layout_width="80px"
android:layout_height="wrap_content"
android:text="播放"
android:layout_x="120px"
android:layout_y="300px"
/>
<Button android:id="@+id/PauseButton"
android:layout_width="80px"
android:layout_height="wrap_content"
android:text="暂停"
android:layout_x="210px"
android:layout_y="300px"
/>
</AbsoluteLayout>
源码附件,如果大家要测试需要自己下载一个.mp4文件放入SD卡
- android 播放视频示例
- Android 播放视频示例
- android 播放视频示例<转>
- Android里面使用MediaPlayer通过SurfaceView播放视频的示例
- Android播放视频的三种方式示例
- android播放音乐示例
- Android:音乐播放示例
- android播放音乐示例
- Android视频播放: VideoView播放视频(三)
- android视频播放
- Android 视频播放
- android 视频播放
- android 视频播放
- Android VideoView播放视频
- Android视频播放
- Android之视频播放
- Android 视频播放器
- android 视频播放
- 802.1q原理
- 微软2012实习生招聘开发类笔试题
- marvell pxa2128 uboot/linux kernel fast ethernet development documentary
- 玩转轮盘赌:简单出千技术帮你赢
- The connection to adb is down, and a severe error has occured. 解决方案
- Android 播放视频示例
- MySql的数据存储
- 黑马程序员--银行调度系统
- servlet 总结
- sql中in、exists以及not in、not exists的选择使用
- Spring 声明式事物详解
- poj 1251 最小生成树问题
- 真实原创,记录程序员的艰辛生活-接私单记1
- android开发,eclipse工程图标上有个红色感叹号原因和解决方法