在我的应用程序中,我放了一个按钮,通过从raw
目录中选择一个随机按钮声源来播放自己的声音。
但是当单击按钮时,首先播放默认的PHONE BUTTON SOUND,然后播放我的自定义按钮。
如何禁用默认电话按键音?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
//will fetch a random button sound and load it in this variable.
ImageButton amazingPicsButton = (ImageButton) findViewById(R.id.amazingPics);
amazingPicsButton.getBackground().setAlpha(2);
amazingPicsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent("com.jasfiddle.AmazingInterface.AMAZINGPICS"));
//create random sound
amazingPicsSound = createRandButSound();
amazingPicsSound.start();
}
});
}
private MediaPlayer createRandButSound(){
return MediaPlayer.create(this, buttonSounds[r.nextInt(buttonSounds.length)]);
}
答案 0 :(得分:2)
我认为你应该做的就是:
setSoundEffectsEnabled(false);
但是这可能是全局的,您可能需要创建自己的Button类并设置this.setSoundEffectsEnabled(false)。
答案 1 :(得分:0)
您可以创建自己的Button类并在XML布局文件中使用它......
package mypackagename.myApp
public class MyButton extends Button {
public MyButton (Context context, AttributeSet attrs) {
this.setSoundEffectsEnabled(false);
}
}
然后在地址文件中使用以下XML作为按钮
<mypackagename.myApp.MyButton
...
</mypackagename.myApp.MyButton>
您还可以尝试将android:soundEffectsEnabled=false
放入主题中,然后将主题分配给您的活动