安卓开发入门教程-通过MediaPlayer播放音频
发布日期:2021-06-29 18:30:17 浏览次数:3 分类:技术文章

本文共 1913 字,大约阅读时间需要 6 分钟。

关注 ,免费获取全套安卓开发学习资料

什么是MediaPlayer

MediaPlayer是用来播放音频的控件,可以支持播放本地及网络音频.

基础样例

  1. 代码
class MainActivity : AppCompatActivity() {    private lateinit var mediaPlayer: MediaPlayer    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        startBtn.setOnClickListener {            //            playFromRaw()//            playFromAssets()//            playFromSdCard()            playFromUrl()            stopBtn.isEnabled = true            startBtn.isEnabled = false        }        stopBtn.setOnClickListener {            mediaPlayer.stop()            stopBtn.isEnabled = false            startBtn.isEnabled = true        }    }    /**     * 播放raw目录下文件     */    private fun playFromRaw() {        mediaPlayer = MediaPlayer.create(this, R.raw.test)        mediaPlayer.start()    }    /**     * 播放assets目录下文件     */    private fun playFromAssets() {        val fd = assets.openFd("test.mp3")        mediaPlayer = MediaPlayer()        mediaPlayer.setDataSource(fd.fileDescriptor, fd.startOffset, fd.length)        mediaPlayer.prepare()        mediaPlayer.start()    }    /**     * 播放SD卡上文件     * 需要动态申请SD读权限     */    private fun playFromSdCard() {        val path = "/sdcard/test.mp3"        mediaPlayer = MediaPlayer()        mediaPlayer.setDataSource(path)        mediaPlayer.prepare()        mediaPlayer.start()    }    /**     * 播放URL对应文件     *     * 如果希望反复重用同一个MediaPlayer,可以在setDataSource前调用:stop()和reset()     */    private fun playFromUrl() {        val audioUrl = "https://gitee.com/cxyzy1/audioPlayerDemo/raw/master/test.mp3"     //这里给一个歌曲的网络地址就行了        mediaPlayer = MediaPlayer()        mediaPlayer.setDataSource(audioUrl)        mediaPlayer.prepareAsync()        mediaPlayer.setOnPreparedListener { mp -> mp.start() }    }}
  1. 权限申请(播放网络视频才需要)
    在AndroidManifest中增加:

完整源代码


安卓开发入门教程系列汇总

开发语言学习

UI控件学习系列

关注头条号,第一时间获取最新文章:

转载地址:https://cxyxy.blog.csdn.net/article/details/108232722 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:安卓开发入门教程-通过VideoView播放视频
下一篇:安卓开发入门教程-通过WebView打开网页

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月13日 11时47分31秒