Android 如何通过编程控制DTMF音量

Android 如何通过编程控制DTMF音量,android,media,dtmf,android-audiomanager,Android,Media,Dtmf,Android Audiomanager,我想做一个搜索栏来控制DTMF音量(例如0到100)。我找了很多,但什么也没找到。我正在这样做,但不起作用 int seekbarValue=seekBar.getProgress(); AudioManager audioManager=(AudioManager) getSystemService(Context.AUDIO_SERVICE); audioManager.setStreamVolume(AudioManager.STREAM_DTMF, seekbarValue, 0);

我想做一个搜索栏来控制DTMF音量(例如0到100)。我找了很多,但什么也没找到。我正在这样做,但不起作用

int seekbarValue=seekBar.getProgress();
AudioManager audioManager=(AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_DTMF, seekbarValue, 0); 
请任何人告诉我一个控制DTMF音量的解决方案。

所有(
AudioManager.STREAM.*
)音量都不能达到100(int)

setStreamVolume(…)
的有效流卷介于0和之间

每个流可以有不同的最大卷int,比如8、10或16,与我记忆中的不同。甚至可能在不同的设备上有所不同


我希望这足以为您和未来的访问者指明正确的方向。

我想在@Anonsage的答案中添加更多的信息

正如@Anonsage所提到的,每个流都有不同的最大容量。根据Kitkat 4.4.2实施,这些是最大值

  • STREAM.DTMF:15
  • 音乐:15
  • 语音通话:5
  • 铃声:7

  • 如果您实际进入较低级别并查看AOSP代码的AudioService.java,则有一个重新缩放操作,可帮助显示类似的UI并更新流的实际值

    嗨,你有解决这个问题的办法吗?@Dinash没有。。。我搜索了很多,但没有得到正确的答案:(好的。谢谢你的回复。你做了什么来处理这个问题?