0

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)]);
}
4

2 に答える 2

2

あなたがする必要があると思うのは、次のことだけです。

setSoundEffectsEnabled(false); 

ただし、これはグローバルな場合があります。独自の Button クラスを作成し、this.setSoundEffectsEnabled(false) を設定する必要がある場合があります。

于 2012-06-19T23:57:12.287 に答える
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て、テーマをアクティビティに割り当てることもできます

于 2012-06-20T00:04:50.267 に答える