zoukankan      html  css  js  c++  java
  • 使用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视频文件。

  • 相关阅读:
    综述:设计模式的分类及六大原则
    模板方法模式
    工厂模式三部曲之抽象工厂模式
    AI,DM,ML,PR的区别与联系
    delphi ADOCONNECTION异常拦截
    Delphi 10.2.3 精简版自动激活Embarcadero Delphi 10.2.3 v25.0.29899.2631 Lite v14.4
    Delphi使用TADOQuery的RowsAffected属性时需要注意的一个点
    delphi 新版内存表 FDMemTable
    delphi 中Adoquery ,在打开时能否让记录指针不移动? [问题点数:40分,结帖人microd]
    delphi循环校验数据集
  • 原文地址:https://www.cnblogs.com/jiww/p/5617975.html
Copyright © 2011-2022 走看看