0

同様のスレッドをオンラインで調べましたが、どれも役に立ちませんでした。

onClickボタンの音を鳴らすという単純なタスクを実行しようとしています。私は何時間もコードを正しく書こうと努力しました。

「残念ながら、試行は停止しました」と表示されます。私のLogCatファイルは、意味のない200以上のエラーメッセージで開きます。

私のコードを見て、何が問題なのか教えていただけますか? ありがとうございました。

package com.example.attempt;

import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.SoundEffectConstants;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=(Button) findViewById(R.id.muteButton);
        button.setOnClickListener(this);
    }

        AudioManager audioManager =
                (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);




    public void onClick(View v) {
        audioManager.playSoundEffect(SoundEffectConstants.CLICK);
    }
}
4

2 に答える 2

5

メソッドAudioManager内の audioManager インスタンスを次のように初期化します。onCreate

   AudioManager audioManager;  //<<<< declare here...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=(Button) findViewById(R.id.muteButton);
        button.setOnClickListener(this);

         /// initialize here
        audioManager =
                (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
    }
于 2013-03-15T19:45:38.697 に答える
1

これ

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button button=(Button) findViewById(R.id.muteButton);
    button.setOnClickListener(this);
}

    AudioManager audioManager =
            (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);

に変更します

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

 AudioManager audioManager =
                (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
        Button button=(Button) findViewById(R.id.muteButton);
        button.setOnClickListener(this);
    }
于 2013-03-15T19:46:22.470 に答える