0

ボタンをクリックすると簡単な音を鳴らす簡単な機能をアプリに追加しました。Nexus 7 AVD では正常に動作しますが、Galaxy s3 でコードを実行すると、サウンドが表示されません。コードは次のとおりです。

private void turnOnFlash() {

    if(!isFlashOn) {
        if(camera == null || parameters == null) {
            return;
        }
    }

    this.playSound();
    parameters = camera.getParameters();
    parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
    camera.setParameters(parameters);
    camera.startPreview();
    isFlashOn = true;
}

そして playSound メソッド:

private void playSound() {

    mediaPlayer = MediaPlayer.create(this, R.raw.bar);
    mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            mp.release();
        }
    });
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
    mediaPlayer.start(); //working on AVD, but do not work in S3.
}

誰かがこの問題を解決するのを手伝ってくれますか? ありがとう。

4

1 に答える 1

0

問題は、デバイスがメディア ボリュームをゼロに設定することです。次のコード スニペットを使用して、プログラムでメディア ボリュームを設定できます。

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);

これは役立つはずです..

于 2013-06-24T18:12:51.717 に答える