本文概述
- VideoView类的方法
- Kotlin Android视频播放器示例
使用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) | 它寻求指定的时间(以毫秒为单位)。 |
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.srcmini.com.kotlinvideoplayer.MainActivity">
<
FrameLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content">
<
VideoViewandroid: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.srcmini.com.kotlinvideoplayerimport android.net.Uriimport android.net.Uri.*import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.os.Environmentimport android.widget.MediaControllerimport android.widget.VideoViewclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val videoView = findViewById<
VideoView>
(R.id.videoView)//Creating MediaControllerval mediaController = MediaController(this)mediaController.setAnchorView(videoView)//specify the location of media fileval uri:Uri = parse(Environment.getExternalStorageDirectory().getPath() + "/Movies/video.mp4")//Setting MediaController and URI, then starting the videoViewvideoView.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"/>
输出:
文章图片
推荐阅读
- Kotlin Android Toast
- Kotlin Android TextView和EditText
- Kotlin Android SQLite教程
- Kotlin Android TabLayout与FrameLayout
- 带有ViewPager的Kotlin Android TabLayout
- Kotlin Android SeekBar
- Kotlin android sharedpreferences用法
- Kotlin Android读写内部存储
- Kotlin Android读写外部存储