Merge pull request #6194 from vmfunc/feature/audio-focus-voice-recording
request audio focus when recording voice messages
This commit is contained in:
+1
@@ -11,6 +11,7 @@ package io.element.android.libraries.audio.api
|
||||
enum class AudioFocusRequester {
|
||||
ElementCall,
|
||||
VoiceMessage,
|
||||
RecordVoiceMessage,
|
||||
MediaViewer,
|
||||
}
|
||||
|
||||
|
||||
+6
-3
@@ -81,7 +81,8 @@ class DefaultAudioFocus(
|
||||
private fun AudioFocusRequester.toAudioUsage(): Int {
|
||||
return when (this) {
|
||||
AudioFocusRequester.ElementCall,
|
||||
AudioFocusRequester.VoiceMessage -> AudioAttributes.USAGE_VOICE_COMMUNICATION
|
||||
AudioFocusRequester.VoiceMessage,
|
||||
AudioFocusRequester.RecordVoiceMessage -> AudioAttributes.USAGE_VOICE_COMMUNICATION
|
||||
AudioFocusRequester.MediaViewer -> AudioAttributes.USAGE_MEDIA
|
||||
}
|
||||
}
|
||||
@@ -89,7 +90,8 @@ private fun AudioFocusRequester.toAudioUsage(): Int {
|
||||
private fun AudioFocusRequester.toAudioStream(): Int {
|
||||
return when (this) {
|
||||
AudioFocusRequester.ElementCall,
|
||||
AudioFocusRequester.VoiceMessage -> AudioManager.STREAM_VOICE_CALL
|
||||
AudioFocusRequester.VoiceMessage,
|
||||
AudioFocusRequester.RecordVoiceMessage -> AudioManager.STREAM_VOICE_CALL
|
||||
AudioFocusRequester.MediaViewer -> AudioManager.STREAM_MUSIC
|
||||
}
|
||||
}
|
||||
@@ -98,7 +100,8 @@ private fun AudioFocusRequester.willPausedWhenDucked(): Boolean {
|
||||
return when (this) {
|
||||
// (note that for Element Call, there is no action when the focus is lost)
|
||||
AudioFocusRequester.ElementCall,
|
||||
AudioFocusRequester.VoiceMessage -> true
|
||||
AudioFocusRequester.VoiceMessage,
|
||||
AudioFocusRequester.RecordVoiceMessage -> true
|
||||
// For the MediaViewer, we let the system automatically handle the ducking
|
||||
// https://developer.android.com/media/optimize/audio-focus#automatic-ducking
|
||||
AudioFocusRequester.MediaViewer -> false
|
||||
|
||||
Reference in New Issue
Block a user