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

