个性化阅读
专注于IT技术分析

Kotlin Android视频播放器

本文概述

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"/>

输出:

Kotlin Android视频播放器
赞(0)
未经允许不得转载:srcmini » Kotlin Android视频播放器

评论 抢沙发

评论前必须登录!