android 播放视频示例<转>
来源:互联网 发布:线上抽签软件 编辑:程序博客网 时间:2024/06/06 09:24
http://byandby.iteye.com/blog/845125
由于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 开始播放
getBufferPercentage 得到缓冲的百分比
getCurrentPosition 得到当前播放的位置
getDuration 得到视频文件的时间
isPlaying 是否正在播放
pause 暂停
resolveAdjustedSize 调整视频显示大小
seekTo 指定播放位置
setMediaController 设置播放控制器模式(播放进度条)
setOnCompletionListener 当媒体文件播放完时触发事件
setOnErrorListener 错误监听
setVideoPath 设置视频源路径
setVideoURI 设置视频源地址
start 开始播放
下面是一个小例子 首先在布局文件中创建VideoView布局,并且创建几个按钮(Button) 来实现对视频的操作,当我们点击“装载” 按钮时,将指定视频文件的路径,如下代码所示:
- /*设置路径*/
- videoView.setVideoPath("/sdcard/test.mp4");
- /*设置模式-播放进度条*/
- videoView.setMediaController(new MediaController(Activity01.this));
- videoView.requestFocus();
装载之后便可以通过start、pause 方法来播放和暂停,具体代码如下
Activity01
- 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 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>
- android 播放视频示例<转>
- android 播放视频示例
- Android 播放视频示例
- Android里面使用MediaPlayer通过SurfaceView播放视频的示例
- Android播放视频的三种方式示例
- android mediaplayer 播放 视频 【转】
- (转)Android VideoView播放视频
- android播放音乐示例
- Android:音乐播放示例
- android播放音乐示例
- Android视频播放: VideoView播放视频(三)
- android视频播放
- Android 视频播放
- android 视频播放
- android 视频播放
- Android VideoView播放视频
- Android视频播放
- Android之视频播放
- Erros in building service
- android笔记--保存和恢复activity的状态数据
- ora-01659、ORA-32773 增大表空间
- ubuntu13.10安装broadcom无线网卡驱动
- fedora优盘安装
- android 播放视频示例<转>
- 左右切换动画
- listview小demo
- H2和Hibernate:ERROR: org.hibernate.tool.hbm2ddl.SchemaUpdate - Unsuccessful: create table
- 救济!!Oracle AP中文版User Guide
- m2eclipse+tomcat
- 理解类加载器和Class对象
- javascript面向对象设计
- Eclipse中的查询支持使用正则表达式