本文概述
android.widget.VideoView类用于在应用程序中播放视频播放器。 android.widget.MediaController类提供了视频播放器的播放控件, 例如播放, 暂停, 后退, 前进等, 以控制视频播放器。
使用VideoView和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) | 它寻求指定的时间(以毫秒为单位)。 |
Kotlin Android视频播放器示例
在此示例中, 我们在VideoView中播放视频。
activity_main.xml
在activity_main.xml文件中添加以下设计代码。在此文件中, 我们将VideoView放在FrameLayout内。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="example.srcmini02.com.kotlinvideoplayer.MainActivity">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<VideoView
android:id="@+id/videoView"
android:layout_width="wrap_content"
android:layout_height="308dp"
android:layout_marginBottom="0dp"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0" />
</FrameLayout>
</android.support.constraint.ConstraintLayout>
MainActivity.kt
在MainActivity.kt类中添加以下代码。在此类中, 我们从sdcard / Movies目录中读取视频文件video.mp4。通过创建Uri类的实例放置视频文件的路径, 并将其传递给VideoView.setVideoURI(Uri)。要播放视频文件, 请调用VideoView的start()方法。
package example.srcmini02.com.kotlinvideoplayer
import android.net.Uri
import android.net.Uri.*
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.os.Environment
import android.widget.MediaController
import android.widget.VideoView
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val videoView = findViewById<VideoView>(R.id.videoView)
//Creating MediaController
val mediaController = MediaController(this)
mediaController.setAnchorView(videoView)
//specify the location of media file
val uri:Uri = parse(Environment.getExternalStorageDirectory().getPath() + "/Movies/video.mp4")
//Setting MediaController and URI, then starting the videoView
videoView.setMediaController(mediaController)
videoView.setVideoURI(uri)
videoView.requestFocus()
videoView.start()
}
}
AndroidManifest.xml
在AndroidManifest.xml文件中添加以下uses-permission。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
输出:
评论前必须登录!
注册