声音池音量水平

时间:2018-11-13 10:00:38

标签: android soundpool

因为我在用MediaPlayer播放.wav小文件时遇到了一些问题,所以我切换到了SoundPool。到目前为止,它似乎比MediaPlayer更好,但是我遇到的问题是声音级别,应该是系统声音级别的0.5。

我尝试过

remote

它仍然处于相同的声音水平,我也尝试过

soundPool.play(currentSoundId, 0.5f, 0.5f, 1, 0, 1);

在同一级别上,您知道如何强制以特定音量播放吗?之所以怪异,是因为它似乎不接受我所输入声音的浮动。

编辑:

我使用以下构造函数初始化

int streamId = soundPool.play(currentSoundId, 1, 1, 1, 0, 1);
soundPool.setVolume(streamId, 0.5f, 0.5f);

2 个答案:

答案 0 :(得分:0)

您应该开始使用ExoPlayer,它的API比MediaPlayerSoundPool更为严格 您可以在这里ExoPlayer找到它。

它具有setVolume(float) API 查看更多here

答案 1 :(得分:-1)

您是将旧的SoundPool构造函数与AudioManager.STREAM_MUSIC流一起使用,还是将更多相关的SoundPool.Builder使用? 如果使用Builder,则将哪些AudioAttributes传递给初始化?