【发布时间】:2017-02-02 12:12:12
【问题描述】:
我有一个使用 Linphone 进行 VOIP 通话的 Android 应用程序。
当我接到电话时,我会像这样开始自己的铃声(原始 mp3 文件):
final AudioManager audioManager = (AudioManager)ctx.getSystemService(Context.AUDIO_SERVICE);
final float maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
audioManager.setStreamVolume(AudioManager.STREAM_RING, (int)maxVolume , 0);
soundPool.play(id, maxVolume , maxVolume , 1, 0, 1.0f);
正在播放我想要的声音,但音量很小。呼叫本身会被自动接受,无需接收端的许可。
如果我在声音结束之前接听电话并结束通话,声音会继续(这没关系),但音量会突然达到我想要的最大值。也就是说,设备可能会进入通话状态,声音池的音量会自动降低,通话结束时,声音可以达到最大值。
如何在通话中将音量设置为最大?
【问题讨论】:
-
您好 Yonatan,您的具体要求是什么?您想在通话过程中播放声音吗?为什么要在通话进行时播放声音?你想通过这样做达到什么目的?
-
通话被自动接听,所以我需要播放声音让用户知道有通话正在进行。因此,只要通话正在进行,我就可以播放声音,但似乎无法将其设置为最大音量
标签: android audio android-audiomanager ringtone