Android视频播放器示例

Android视频播放器示例

通过 MediaControllerVideoView 类的帮助,我们可以在Android中播放视频文件。

MediaController类

android.widget.MediaController 是一个包含媒体控制器(如播放/暂停、上一个、下一个、快进、快退等)的视图。

VideoView类

android.widget.VideoView 类提供了播放和控制视频播放器的方法。VideoView类的常用方法如下:

方法 描述
public void setMediaController(MediaController controller) 设置媒体控制器到视频视图。
public void setVideoURI (Uri uri) 设置视频文件的URI。
public void start() 启动视频视图。
public void stopPlayback() 停止播放。
public void pause() 暂停播放。
public void suspend() 暂停播放。
public void resume() 恢复播放。
public void seekTo(int millis) 跳转到指定时间(以毫秒为单位)。

activity_main.xml

将VideoView从工具栏拖动到activity_main.xml文件中,现在该文件将变为如下内容:

<RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <VideoView
        android:id="@+id/videoView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true" />

</RelativeLayout>

Activity类

让我们编写代码来播放视频文件。在这里,我们将播放位于sdcard/media目录下的1.mp4文件。

package com.example.video1;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        VideoView videoView =(VideoView)findViewById(R.id.videoView1);

                //Creating MediaController
        MediaController mediaController= new MediaController(this);
            mediaController.setAnchorView(videoView);        

              //specify the location of media file
           Uri uri=Uri.parse(Environment.getExternalStorageDirectory().getPath()+"/media/1.mp4");        

              //Setting MediaController and URI, then starting the videoView
           videoView.setMediaController(mediaController);
           videoView.setVideoURI(uri);        
           videoView.requestFocus();
           videoView.start();

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程