0

私はこのコードを使用しており、Froyo と Gingerbread で問題なくサウンドを再生します (そして、私の友人と同様に Honeycomb も使用していると思います):

MediaPlayer mp = MediaPlayer.create(this, R.raw.click);

Button clicker = (Button) findViewById(R.id.clicker);

clicker.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v){

            mp.start();

        }
    });

使用しているオーディオは WAV 形式です。破損していないことを確認しましたが、問題ありません。このコードとサウンド ファイルは、Gingerbread でも正しく動作します。

Ice Cream Sandwich および JellyBean デバイス (それぞれ Galaxy nexus および nexus 7) では、このコードは機能しません。サウンドは再生されません。logcatには何も入れられません。インターネットで検索したり、友達にアイデアを求めたりしましたが、何も思いつきません。

お時間をいただきありがとうございます。

4

1 に答える 1

1

呼び出しを IllegalStateException でラップし、デバッガーで実行して、何が得られるかを確認します。ブール値の isPlaying=mp.isPlaying(); も設定します。そしてその値を確認します。また、開始する前に mp.reset() を試して、動作することを確認してください。

http://developer.android.com/reference/android/media/MediaPlayer.html#setOnErrorListener%28android.media.MediaPlayer.OnErrorListener%29も参照してください。

MediaPlayer.OnErrorListener を実装し、メソッドをメディア プレーヤーに登録します。どのようなエラーが発生するかを確認してください。

于 2012-07-23T20:20:42.643 に答える