如何在另一個音訊開始時使音訊停止(大量音訊)
問題內容
我有30-31 個按鈕,我希望一次播放一個按鈕,所以如果我單擊一個按鈕,它就會播放,然後當我單擊另一個按鈕時,無論是哪個按鈕,它都會停止,這是程式碼範例基本上都是這樣並重複,但只是數字發生變化,因此1,2,3,4 等等:
public void Button1Text(View view) { Media1 = MediaPlayer.create(QuranJ30MA.this, R.raw.hannaba); Media1.start(); } public void Button1Text2(View view) { Button1p = MediaPlayer.create(QuranJ30MA.this, R.raw.mannaba); Button1p.start(); }
登入後複製
我確實嘗試看看其他人也想做同樣的事情,但由於我對java不太擅長,所以我不明白如何將它應用到我的機器上,如果要求不太多,我只是想解釋一下它是如何運作的學習一下,謝謝:)
解決方法
您永遠不應該創建多個mediaplayer,它們是重量級物件並佔用大量資源。相反,製作一個媒體播放器,並使用 setdatasource 更改其設定播放的聲音(當然,您需要先停止原始聲音)。
接下來要改變的是建立資料。創建 ids 到聲音的映射:
map<int, int> sounds = new hashmap(); sounds.put(button1id, r.raw.hannaba); sounds.put(button2id, r.raw.mannaba); ...
登入後複製
然後就可以擁有點選功能了:
public void buttonClick(View view) { mediaPlayer.stop() mediaPlayer.setDataSource(sounds.get(view.getId()) mediaPlayer.start() }
登入後複製
將其設定為您想要執行的所有按鈕的 onclicklistener,並且只需編寫一次。
以上是如何在另一個音訊開始時使音訊停止(大量音訊)的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前
By DDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前
By DDD
Inzoi:如何申請學校和大學
3 週前
By DDD
如何修復KB5055518無法在Windows 10中安裝?
2 週前
By DDD
Roblox:Dead Rails - 如何召喚和擊敗Nikola Tesla
4 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)