Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将Mediaplayer与电话音量同步?_Android_Android Mediaplayer - Fatal编程技术网

Android 如何将Mediaplayer与电话音量同步?

Android 如何将Mediaplayer与电话音量同步?,android,android-mediaplayer,Android,Android Mediaplayer,我注意到,无论我设置手机的音量如何,在我的应用程序中点击按钮的声音都保持不变。我如何将其与手机的系统音量同步?这是我使用的代码格式 Mediaplayer buttonSoundClick; buttonClickSound = MediaPlayer.create(this, R.raw.button_click_sound); buttonClickSound.start(); buttonClickSound = MediaPlayer.create(this, R.ra

我注意到,无论我设置手机的音量如何,在我的应用程序中点击按钮的声音都保持不变。我如何将其与手机的系统音量同步?这是我使用的代码格式

Mediaplayer buttonSoundClick;

buttonClickSound = MediaPlayer.create(this, R.raw.button_click_sound);

buttonClickSound.start();



    buttonClickSound = MediaPlayer.create(this, R.raw.button_click_sound);
} private void prepareAsync() {

    buttonClickSound.setAudioStreamType(AudioManager.STREAM_MUSIC);
}


@Override
public void onClick(View v) {

//Button Click Sound
        buttonClickSound.start();

Android对于不同的流类型有不同的音量级别

覆盖onKeyDown并添加以下代码

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

    switch (keyCode) {

        case KeyEvent.KEYCODE_VOLUME_UP:
            audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
            return true;

        case KeyEvent.KEYCODE_VOLUME_DOWN:
            audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
            return true;

        default:
            return false;
    }
}
在此之后,尝试使用流类型,使其适合您的应用程序。可用的流类型有:

AudioManager.STREAM_MUSIC
AudioManager.STREAM_RING
AudioManager.STREAM_ALARM
AudioManager.STREAM_SYSTEM
AudioManager.STREAM_NOTIFICATION

您可以使用MediaPlayer.setAudioStreamTypeAudioManager.stream\u音乐直接设置MediaPlayer流类型


Buy,您必须在prepare或prepareAsync之前调用此方法,以便目标流类型在此后生效。

您使用的音频流类型是什么?@pskink很抱歉,但我不知道这是什么意思。在哪里可以找到这些信息?在MediaPlayer API文档中?@pskink我不知道如何回答他的问题。如何找到我正在使用的音频流类型?我发布了与Mediaplayerok相关的唯一代码,因此您似乎正在使用默认的音频流类型,如果默认的不是您想要的,那么请设置您想要使用的音频流类型谢谢回复,但是在使用它之后,按钮ClickSound忽略我的手机音量,如何将它们同步到一起。@您在错误的位置调用setAudioStreamType。可以这样称呼它:buttonClickSound.setAudioStreamTypeAudioManager.STREAM_MUSIC;在调用buttonClickSound.start之前@“那孩子,你试过了吗?”贾兹兹,我没弄好。等我对安卓系统有了更多的了解后,我再试试。