Android應(yīng)用怎么為一個按鍵添加聲音?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
目前創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管運營、企業(yè)網(wǎng)站設(shè)計、雞西網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。為按鍵添加聲音的方法:
public class MainActivity extends Activity { private Button mButton01; private SoundPool sp;//聲明一個SoundPool private int music;//定義一個整型用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);//第一個參數(shù)為同時播放數(shù)據(jù)流的大個數(shù),第二數(shù)據(jù)流類型,第三為聲音質(zhì)量 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時,不同的機器對文件格式要求不同。
于是將資源文件轉(zhuǎn)為mp3格式類型,但是測試發(fā)現(xiàn),這次的情況恰恰相反,即真機可以播放,虛擬機不行。
想到之前所做項目中,聲音資源的格式為ogg,沒有出現(xiàn)過類似問題。果斷轉(zhuǎn)換、進行測試,真機、虛擬機都可以啦!
看完上述內(nèi)容,你們掌握Android應(yīng)用怎么為一個按鍵添加聲音的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!