Android開發(fā)基礎實現(xiàn)音頻文件的播放詳解
前言
上一篇(安卓開發(fā)基礎——實現(xiàn)最簡單的視頻播放我們簡單的實現(xiàn)了一個播放視頻的功能,這一節(jié)我們來實現(xiàn)App對音頻文件的播放功能,本文主要是依靠MediaPlayer類去實現(xiàn)Android播放音樂的。
實現(xiàn)方法
和上一篇的播放功能實現(xiàn)類似,我們首先需要一個文件夾去放我們的音頻文件,我們在main文件夾下新建一個assets文件夾放入我們的音頻文件


然后我們在布局中添加一張圖片,下面加上三個處理播放控制的按鈕,播放,暫停(暫停播放),停止(正在播放就停止播放,從頭開始)
<ImageView
android:layout_width="wrap_content"
android:layout_height="300dp"
android:layout_gravity="center"
android:src="@mipmap/rabbit"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/stopAudio"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/str_stop_audio"/>
<Button
android:id="@+id/playAudio"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/str_play"/>
<Button
android:id="@+id/pauseAudio"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/str_pause"/>
</LinearLayout>
private val mediaPlayer = MediaPlayer()
在Activity中,我們首先創(chuàng)建出MediaPlayer對象,然后在initMediaPlayer()方法里先通過MediaPlayer的setDataSource()方法和prepare()方法做好播放準備。
再為按鈕添加MediaPlayer的播放控制方法,其中reset()方法將MediaPlayer重置為剛剛創(chuàng)建的狀態(tài),所以需要在初始化一次,即調(diào)用我們封裝好的initMediaPlayer()方法

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()方法中釋放資源:

//釋放資源 mediaPlayer.stop() mediaPlayer.release()
最終效果
展示效果頁面:

圖片下方就是音頻控件,不過不好展示,畢竟不能放視頻到掘金上,音頻聽不到,不過后續(xù)會把這些集合到GitHub的項目上,作為基礎復習使用。
總結(jié)
以上就是Android開發(fā)基礎實現(xiàn)音頻文件的播放詳解的詳細內(nèi)容,更多關(guān)于Android開發(fā)音頻文件播放的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android 10 啟動之servicemanager源碼解析
這篇文章主要為大家介紹了Android 10 啟動之servicemanager源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10
Android實現(xiàn)系統(tǒng)狀態(tài)欄的隱藏和顯示功能
這篇文章主要介紹了Android實現(xiàn)系統(tǒng)狀態(tài)欄的隱藏和顯示功能,文中還給大家?guī)硭姆N方法,大家可以根據(jù)自己需要參考下2018-07-07
Android Back鍵點擊兩次退出應用詳解及實現(xiàn)方法總結(jié)
這篇文章主要介紹了Android Back鍵點擊兩次退出應用詳解及實現(xiàn)方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2016-10-10
Android中自定義PopupWindow實現(xiàn)彈出框并帶有動畫效果
這篇文章主要介紹了Android中自定義PopupWindow實現(xiàn)彈出框并帶有動畫效果的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
Android實現(xiàn)打開手機淘寶并自動識別淘寶口令彈出商品信息功能
最近項目經(jīng)理給我們安排一個活兒,基于Android開發(fā)實現(xiàn)打開手機淘寶,并自動識別淘口令,彈出商品信息,今天小編就抽空給大家分享下這個需求是怎么實現(xiàn)的,需要的朋友參考下吧2017-11-11

