如何在Android上以编程方式更改声音

时间:2017-07-07 22:49:16

标签: android audio android-mediaplayer media-player volume

我有一个播放歌曲文件的媒体播放器。但是,无论我如何尝试初始化其音量,更改它的唯一方法是使用音量按钮手动。我试过了

    mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM);
    mAudioManager.setStreamVolume(AudioManager.STREAM_ALARM, maxVolume, 0); // Sets volume to max

甚至

mMediaPlayer.setVolume(1, 1);

但没有工作。我过去使用过此代码没有问题。我已经在5.1.1和7.1.1上尝试了我的应用,但没有运气。电话的音量是否以静音状态开始并不重要。我查了一下,maxVolume非零(我也尝试过硬编码)。如何以编程方式设置初始卷?媒体播放器自动开始播放。 (我已尝试在媒体播放器的onPrepared听众中调用此功能,以防它产生影响。它没有。)我还检查了电话音量是否为&#34 ;固定&#34 ;.不是。

如何让我的播放器以最大音量开始播放(无论手机设置的是什么)?

1 个答案:

答案 0 :(得分:0)

我发现了问题。我错了。而不是STREAM_ALARM它应该是STREAM_MUSIC。可以在此处找到流列表:

https://developer.android.com/reference/android/media/AudioManager.html