Android如何為按鍵添加聲音
為程序的按鈕添加按鍵聲音能更好的親和用戶,產(chǎn)生更好的使用體驗,下面就是為按鍵添加聲音的方法:
public class MainActivity extends Activity {
private Button mButton01;
private SoundPool sp;//聲明一個SoundPool
private int music;//定義一個整型用load();來設置suondID
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton01=(Button)findViewById(R.id.mButton01);
sp= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);//第一個參數(shù)為同時播放數(shù)據(jù)流的最大個數(shù),第二數(shù)據(jù)流類型,第三為聲音質量
music = sp.load(this, R.raw.start, 1); //把你的聲音素材放到res/raw里,第2個參數(shù)即為資源文件,第3個為音樂的優(yōu)先級
mButton01.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
sp.play(music, 1, 1, 0, 0, 1);
}
}
}
}
在實現(xiàn)的過程中,我發(fā)現(xiàn)不同的Android機器對聲音資源文件的格式要求不同。
當聲音資源文件格式為wma時,Android虛擬機上測試,按鍵可以發(fā)出聲音。
在真機上測試(魅族M9),logcat顯示如下:
Unable to load sample: (null)
W/SoundPool sample 1 not READY
按下按鍵并沒有聲音。
查找資料發(fā)現(xiàn),在使用SoundPool時,不同的機器對文件格式要求不同。
于是將資源文件轉為mp3格式類型,但是測試發(fā)現(xiàn),這次的情況恰恰相反,即真機可以播放,虛擬機不行。
想到之前所做項目中,聲音資源的格式為ogg,沒有出現(xiàn)過類似問題。果斷轉換、進行測試,真機、虛擬機都可以啦!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android RecyclerView多類型布局卡片解決方案
這篇文章主要介紹了Android RecyclerView多類型布局卡片解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03
使用ListView實現(xiàn)網(wǎng)上訂餐首頁
這篇文章主要為大家詳細介紹了使用ListView實現(xiàn)網(wǎng)上訂餐首頁,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-01-01
詳解Android 利用Iptables實現(xiàn)網(wǎng)絡黑白名單(防火墻)
這篇文章主要介紹了詳解Android 利用Iptables實現(xiàn)網(wǎng)絡黑白名單(防火墻),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08

