Android 播放視頻示例

Android 播放視頻示例 android

 

  因爲Android平臺由Google本身封裝、設計、提供的Java Dalvik 在算法處理效率上沒法與C/C++ 或 ARM ASM 相提並論,在描述或移植一些本地語言的解碼器上顯得無能爲力,目前整個平臺僅支持MP4 的 H.26四、3GP 和 WMV 視頻解析。

  Android內置的 VideoView類能夠快速製做一個系統播放器,VideoView主要用來顯示一個視頻文件,咱們先開看看VideoView類的一些基本方法。

  方法                                               說明
  getBufferPercentage                               獲得緩衝的百分比
  getCurrentPosition                                獲得當前播放的位置
  getDuration                                       獲得視頻文件的時間
  isPlaying                                         是否正在播放
  pause                                             暫停
  resolveAdjustedSize                               調整視頻顯示大小
  seekTo                                            指定播放位置
  setMediaController                                設置播放控制器模式(播放進度條)
  setOnCompletionListener                           當媒體文件播放完時觸發事件
  setOnErrorListener                                錯誤監聽
  setVideoPath                                      設置視頻源路徑
  setVideoURI                                       設置視頻源地址
  start                                             開始播放
  下面是一個小例子 首先在佈局文件中建立VideoView佈局,而且建立幾個按鈕(Button) 來實現對視頻的操做,當咱們點擊「裝載」 按鈕時,將指定視頻文件的路徑,以下代碼所示:
  Java代碼 算法

? app

代碼片斷,雙擊複製 ide

01 佈局

02 測試

03 this

04 spa

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卡

相關文章
相關標籤/搜索