Android 播放视频示例

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.setMediaControllernew MediaControllerActivity01.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 onCreateBundle savedInstanceState {

super.onCreatesavedInstanceState);

setContentViewR.layout.main);

/* 创建VideoView对象 */

final VideoView videoView = VideoView findViewByIdR.id.VideoView01);

/* 操作播放的三个按钮 */

Button PauseButton = Button this.findViewByIdR.id.PauseButton);

Button LoadButton = Button this.findViewByIdR.id.LoadButton);

Button PlayButton = Button this.findViewByIdR.id.PlayButton);

/* 装载按钮事件 */

LoadButton.setOnClickListenernew OnClickListener() {

public void onClickView arg0 {

/* 设置路径 */

videoView.setVideoPath"/sdcard/test.mp4");

/* 设置模式-播放进度条 */

videoView.setMediaControllernew MediaController

Activity01.this));

videoView.requestFocus();

}

});

/* 播放按钮事件 */

PlayButton.setOnClickListenernew OnClickListener() {

public void onClickView arg0 {

/* 开始播放 */

videoView.start();

}

});

/* 暂停按钮 */

PauseButton.setOnClickListenernew OnClickListener() {

public void onClickView 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

xmlnsandroid="http//schemas.android.com/apk/res/android"

androidorientation="vertical"

androidlayout_width="fill_parent"

androidlayout_height="fill_parent"

> 

<TextView

androidlayout_width="fill_parent"

androidlayout_height="wrap_content"

androidtext="@string/hello"

/>

<VideoView

androidid="@+id/VideoView01"

androidlayout_width="320px"

androidlayout_height="240px"

/>

<Button androidid="@+id/LoadButton"

androidlayout_width="80px"

androidlayout_height="wrap_content"

androidtext="装载"

androidlayout_x="30px"

androidlayout_y="300px"

/>

<Button androidid="@+id/PlayButton"

androidlayout_width="80px"

androidlayout_height="wrap_content"

androidtext="播放"

androidlayout_x="120px"

androidlayout_y="300px"

/>

<Button androidid="@+id/PauseButton"

androidlayout_width="80px"

androidlayout_height="wrap_content"

androidtext="暂停"

androidlayout_x="210px"

androidlayout_y="300px"

/>

</AbsoluteLayout>


  源码附件,如果大家要测试需要自己下载一个.mp4文件放入SD卡

你可能感兴趣的:(android,播放视频示例)