• 使用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视频文件。

  • 相关阅读:
    决策树
    结巴分词demo
    线性回归分析波士顿房价
    将python的字典格式数据写入excei表中
    ubuntu16.04电脑重启/关机卡死问题记录
    Hadoop 平台搭建
    Linux 常用命令
    灰度共生矩阵
    图像类型
    linux中的一些常用命令
  • 原文地址:https://www.cnblogs.com/jiww/p/5617975.html
Copyright © 2020-2023  润新知