且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Android音视频——系统播放器介绍(一)

更新时间:2022-06-18 03:10:59

相信大家看到这个标题就能想到,本篇讲的是什么播放器了,没错就是MediaPlayer
分享一首动听的纯音乐Shut The Window!
Android音视频——系统播放器介绍(一)

相信有不少人都用过它,但是有少人是只停留在用的阶段呢,下一篇文章会接着详细介绍各个状态下的生命周期,本篇对新人友好一点,先简单讲一下相关知识点及调用。

什么是MediaPlayer

MediaPlayer是Android自带的一个多媒体播放类,它可以用来播放音视频文件,或者是音频文件,我们可以用它来播放本地音频,或者是网络在线音频。
属于 android.media 包下

状态

  • List item
  • Idle
  • End
  • Error
  • Initialized
  • Preparing
  • Prepared
  • Started
  • Stopped
  • Paused
  • PlaybackCompleted

需要权限

播放网络音频时需要 Manifest.permission.INTERNET 权限。
权限这是重点

定义及初始化

    private val mediaPlayer: MediaPlayer = MediaPlayer()
    private fun initMediaPlayer() {
        try {
        // R.raw.video 就是大家需要播放的本地文件
            mediaPlayer = MediaPlayer.create(this, android.R.raw.video)
            mediaPlayer.prepare()
        } catch (e: Exception) {
            e.printStackTrace()
        }
    }

播放路径

(1)调用本地或网络

mediaPlayer.setDataSource(path)

path可以是内存卡上的目录,可以是项目导入的文件,也可以是资源网址url(http://.../.mp3
使用该方法,切记要申请权限(读写权限、访问网络)

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

<uses-permission android:name="android.permission.INTERNET" />

网络授权:在AndroidMainManifest文件里面package下面插入上面这一句

6.0以后要求动态申请

(2)打包到项目
在res中创建raw文件夹,将音乐放入,就可以使用:

mediaPlayer = MediaPlayer.create(this,R.raw.video)

使用方法

initMediaPlayer()
mediaPlayer.start()

销毁方法

mediaPlayer.stop()
mediaPlayer.release()