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