相信大家看到这个标题就能想到,本篇讲的是什么播放器了,没错就是MediaPlayer。
分享一首动听的纯音乐Shut The Window!
相信有不少人都用过它,但是有少人是只停留在用的阶段呢,下一篇文章会接着详细介绍各个状态下的生命周期,本篇对新人友好一点,先简单讲一下相关知识点及调用。
什么是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()