安卓開發基礎——實現音訊檔案的播放
theme: qklhk-chocolate
開啟掘金成長之旅!這是我參與「掘金日新計劃 · 2 月更文挑戰」的第 2 天,點選檢視活動詳情
前言
上一篇(安卓開發基礎——實現最簡單的視訊播放 - 掘金 (juejin.cn))我們簡單的實現了一個播放視訊的功能,這一節我們來實現App對音訊檔案的播放功能,本文主要是依靠MediaPlayer類去實現Android播放音樂的。
正篇
實現方法
和上一篇的播放功能實現類似,我們首先需要一個資料夾去放我們的音訊檔案,我們在main資料夾下新建一個assets資料夾放入我們的音訊檔案
然後我們在佈局中新增一張圖片,下面加上三個處理播放控制的按鈕,播放,暫停(暫停播放),停止(正在播放就停止播放,從頭開始)
```XML
```Kotlin private fun initAudio() { initMediaPlayer() binding.playAudio.setOnClickListener { if (!mediaPlayer.isPlaying) { mediaPlayer.start() } }
binding.pauseAudio.setOnClickListener {
if (mediaPlayer.isPlaying) {
mediaPlayer.pause()
}
}
binding.stopAudio.setOnClickListener {
if (!mediaPlayer.isPlaying) {
mediaPlayer.reset()
initMediaPlayer()
}
}
}
//初始化MediaPlayer private fun initMediaPlayer() { val assetManager = assets val fd = assetManager.openFd("music.mp3") mediaPlayer.setDataSource(fd.fileDescriptor, fd.startOffset, fd.length) mediaPlayer.prepare() } ```
和播放視訊一樣,我們需要在onDestroy()方法中釋放資源:
Kotlin
//釋放資源
mediaPlayer.stop()
mediaPlayer.release()
最終效果
展示效果頁面:
圖片下方就是音訊控制元件,不過不好展示,畢竟不能放視訊到掘金上,音訊聽不到,不過後續會把這些集合到GitHub的專案上,作為基礎複習使用。
總結
晚上部門聚餐,差點沒時間寫,但還是早點回來完成了今日的文章。
還是今日事今日畢吧!
- 安卓開發一年技術小結——安卓開發技術整理
- 安卓Kotlin開發學習——接著看高階函式
- 兔兔按鈕——安卓懸浮按鈕
- 兔兔進度條Plus——SeekBar充當Progress
- 安卓基礎開發——ReentrantLock的簡單使用
- 安卓開發基礎——使用RecyclerView
- 安卓開發基礎(Java)——TextView的使用
- 安卓開發基礎——弱引用的使用
- 安卓開發基礎——實現音訊檔案的播放
- 讓UI忙碌的安卓Lottie動畫渲染庫(二)
- 強大而靈活的RecyclerView Adapter——BRVAH(框架引入與BaseQuickAdapter使用篇)
- 安卓語言基礎之Kotlin的面向物件程式設計
- 安卓語言基礎之Kotlin高階函式——Lambda表示式(二)
- 大放光彩的安卓Jetpack元件-ViewModel(一)
- 安卓語言基礎之Kotlin高階函式——Lambda表示式(一)
- 安卓開發必備——build.gradle檔案初探(一)
- 安卓開發學Flutter——Dart語法的一些注意點(第二篇)
- 簡單易用的安卓SharedPreferences儲存(資料儲存系列)
- 安卓開發基礎技術——WebView載入網頁
- 原汁原味的安卓檔案儲存(資料儲存系列)