問題內容
我有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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

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