android开发分享Android:如何使用VideoView(TV显示屏待机状态,循环播放视频)

Android:使用VideoView播放视频1,添加VideoView组件2,添加视频文件3,使用MediaController控制视频播放VideoView是Android提供的一款用于播放视频的控件[1]1,添加VideoView组件我们可以将组件添加到布局文件中,也可以在程序中创建。<FrameLayout xmlns:android=”http://schemas.android.com/apk/res/android”xmlns:t..

  • Android:使用VideoView播放视频
    • 1,添加VideoView组件
    • 2,添加视频文件
    • 3,使用MediaController控制视频播放

VideoView是Android提供的一款用于播放视频的控件[1]


1,添加VideoView组件

我们可以将组件添加到布局文件中,也可以在程序中创建。

<?xml version="1.0" encoding="utf-8"?>  <FrameLayout xmlns:android="https://schemas.android.com/apk/res/android"      xmlns:tools="https://schemas.android.com/tools"      android:id="@+id/activity_vv"      android:layout_width="match_parent"      android:layout_height="match_parent"      tools:context="com.pwong.pandroid.view.VVActivity">      <VideoView          android:id="@+id/mVideoView"          android:layout_width="match_parent"          android:layout_height="match_parent" />  </FrameLayout>

2,添加视频文件

我们可以采用下面两种方式去添加一个视频文件:
public void setVideoPath(String path);

根据文件路径去播放视频文件

public void setVideoURI(Uri uri);

根据Uri去指定视频文件


3,使用MediaController控制视频播放

VideoView提供了start()stop()pause()三个方法去控制视频播放。但是对于视频播放来说自己去处理逻辑关系仍然稍显复杂。于是Android提供一个MediaController类作为媒体文件播放的控制器。用法如下:

package com.pwong.pandroid.view    import android.app.Activity  import android.os.Bundle  import android.widget.MediaController  import com.pwong.pandroid.R  import kotlinx.android.synthetic.main.activity_vv.*    /**   * @author qdreamer-x   * @data   * @instruction killing bugs   */  class VVActivity : Activity() {      override fun onCreate(savedInstanceState: Bundle?) {          super.onCreate(savedInstanceState)          setContentView(R.layout.activity_vv)          val mController = MediaController(this)          mVideoView.setVideoPath("android.resource://" + packageName + "/" + R.raw.video)          mVideoView.setMediaController(mController)          mController.setMediaPlayer(mVideoView)          mVideoView.requestFocus()          mVideoView.start()          mVideoView.setOnPreparedListener { mp ->              mp.start()              mp.isLooping = true          }      }    }

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/894786.html

(0)
上一篇 2021年10月21日
下一篇 2021年10月21日

精彩推荐