MediaPlayer.start()不在s3中播放声音

时间:2013-06-24 18:03:16

标签: android android-mediaplayer

我在我的应用程序中添加了一个简单的功能,在单击按钮时播放简单的声音。它适用于我的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;
}

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.
}
有人可以帮我解决这个问题吗?感谢。

1 个答案:

答案 0 :(得分:0)

问题是设备将媒体音量设置为零, 您可以使用以下代码段以编程方式设置媒体卷:

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

这应该有帮助..