您的位置:首页 > 移动开发 > Android开发

android 播放视频示例<转>

2013-10-25 00:03 393 查看
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                                             开始播放

  下面是一个小例子 首先在布局文件中创建VideoView布局,并且创建几个按钮(Button) 来实现对视频的操作,当我们点击“装载” 按钮时,将指定视频文件的路径,如下代码所示: 

Java代码  



/*设置路径*/  

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

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

videoView.setMediaController(new MediaController(Activity01.this));  

videoView.requestFocus();  

  装载之后便可以通过start、pause 方法来播放和暂停,具体代码如下 
Activity01 

Java代码  



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代码  



<?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>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: