android播放视频用法示例

借助MediaController和VideoView类,我们可以在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>

活动类

让我们编写播放视频文件的代码。在这里,我们将播放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;
	}

}

你需要在真实设备(例如移动设备)上运行它以测试应用程序。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?