為程序的按鈕添加按鍵聲音能更好的親和用戶,產生更好的使用體驗,下面就是為按鍵添加聲音的方法:
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);//第一個參數為同時播放數據流的最大個數,第二數據流類型,第三為聲音質量 music = sp.load(this, R.raw.start, 1); //把你的聲音素材放到res/raw里,第2個參數即為資源文件,第3個為音樂的優先級 mButton01.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { sp.play(music, 1, 1, 0, 0, 1); } } } } 在實現的過程中,我發現不同的Android機器對聲音資源文件的格式要求不同。
當聲音資源文件格式為wma時,Android虛擬機上測試,按鍵可以發出聲音。
在真機上測試(魅族M9),logcat顯示如下:
Unable to load sample: (null)
W/SoundPool sample 1 not READY
按下按鍵并沒有聲音。
查找資料發現,在使用SoundPool時,不同的機器對文件格式要求不同。
于是將資源文件轉為mp3格式類型,但是測試發現,這次的情況恰恰相反,即真機可以播放,虛擬機不行。
想到之前所做項目中,聲音資源的格式為ogg,沒有出現過類似問題。果斷轉換、進行測試,真機、虛擬機都可以啦!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答