使用VideoView播放视频

Posted 奋斗青年一族

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用VideoView播放视频相关的知识,希望对你有一定的参考价值。

为了在android应用中播放视频,Android提供了VideoView组件,它就是一个位于android.widget包下的组件,它的作用与ImageView类似,只是ImageView用于显示图片,VideoView用于播放视频。

使用VideoView播放视频的步骤如下:

1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件。

2、调用VideoView的如下两个方法来加载指定视频:

  setVideoPath(String  path):加载path文件所代表的视频。

  setVideoURI(Uri  uri);加载uri所对应的视频‘

3、调用VideoView的start()、stop()、pause()方法来控制视频播放。

使用VideoView,还需要结合MediaController类,它的作用是提供一个友好的图形控制界面,通过该控制界面来控制视频的播放。

VideoView的界面布局文件如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  tools:context=".VideoViewTest" >

  <!-- 定义VideoView播放视频 -->
  <VideoView
    android:id="@+id/video"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
  />

</LinearLayout>

程序代码如下:

import java.io.File;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.PixelFormat;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;

public class VideoViewTest extends Activity {
  VideoView videoView;
  MediaController mController;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFormat(PixelFormat.TRANSLUCENT);
    setContentView(R.layout.activity_video_view_test);
    //获取界面上的VideoView组件
    videoView = (VideoView) findViewById(R.id.video);
    //创建MediaController对象
    mController = new MediaController(this);
    File video = new File("/mnt/sdcard/movie.mp4");
    if(video.exists()){
      videoView.setVideoPath(video.getAbsolutePath());
      //设置VideoView与MediaController建立关联
      videoView.setMediaController(mController);
      //设置MediaController与VideoView建立关联
      mController.setMediaPlayer(videoView);
      //让VideoView获取焦点
      videoView.requestFocus();
    }
  }

 

}

运行该程序可能会遇到一些问题,比如使用了一些非标准的MP4、3GP文件,那么该应用程序将无法播放,建议自行使用使用手机录制一段兼容各种手机的、标准的MP4、3GP视频文件。

以上是关于使用VideoView播放视频的主要内容,如果未能解决你的问题,请参考以下文章

Android 使用VideoView实现简单视频播放

使用本机播放器播放时,视频无法使用 VideoView 播放

视频播放-VideoVIew,Vitamio

无法在android的videoview中播放来自url的视频如何在videoview中播放来自URL的视频?

无法让 Vitamio VideoView 播放普通 Android VideoView 会播放的视频文件

如何使用 videoView 和 inputStream 播放视频