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

The problem is that the device sets the media volume to zero, You can set media volume programmatically using this snippet of code :

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

This should help..

于 2013-06-24T18:12:51.717 回答