#android #audio #android-audiomanager
#Android #Аудио #android-audiomanager
Вопрос:
В чем разница между вызовом AudioManager.setRingerMode
и вызовом AudioManager.setStreamMute(AudioManager.STREAM_VOICE_CALL, ...)
Что в документации подразумевается под «режимом звонка»? Я почти уверен, что это режим телефонного звонка. Тогда чем это отличается от вызова setStreamMute
с STREAM_VOICE_CALL
помощью?
Если это не режим телефонного звонка, то что это такое?
Заранее благодарю.
Ответ №1:
Я никогда не использовал аудиопоток на платформе Android, однако, основываясь на чтении документации, я думаю, что setRingerMode повлияет на то, как телефон реагирует на входящие вызовы. Например, AudioManager.setRingerMode(RINGER_MODE_SILENT) отключит вибрации и звук при поступлении входящего вызова.
Однако AudioManager.setStreamMute, похоже, контролирует не только аудиопоток для телефонных звонков.
Из документации по адресу http://developer.android.com/reference/android/media/AudioManager.html#STREAM_VOICE_CALL
Я думаю, что AudioManager.setRingerMode(RINGER_MODE_SILENT) будет действовать так же, как AudioManager.setStreamMute(STREAM_RING, true).
Я думаю, что лучший способ увидеть, в чем разница (и проверить, верно ли то, что я говорю), — это написать небольшую программу, которая тестирует эти две функции.
Комментарии:
1. Я читал эту документацию много-много раз. Но хорошо, я постараюсь проверить это и увидеть разницу
2. Да, оба делают то же самое. Но при использовании setRingerMode он также помещает знак silent / vibrate вверху, а при использовании setStreamMute — нет. Спасибо за идею протестировать его 🙂