正在显示
2 个修改的文件
包含
14 行增加
和
4 行删除
| @@ -41,11 +41,16 @@ class CallActivity : AppCompatActivity() { | @@ -41,11 +41,16 @@ class CallActivity : AppCompatActivity() { | ||
| 41 | } | 41 | } |
| 42 | private val focusChangeListener = AudioManager.OnAudioFocusChangeListener {} | 42 | private val focusChangeListener = AudioManager.OnAudioFocusChangeListener {} |
| 43 | 43 | ||
| 44 | + private var previousSpeakerphoneOn = true | ||
| 45 | + private var previousMicrophoneMute = false | ||
| 46 | + | ||
| 44 | override fun onCreate(savedInstanceState: Bundle?) { | 47 | override fun onCreate(savedInstanceState: Bundle?) { |
| 45 | super.onCreate(savedInstanceState) | 48 | super.onCreate(savedInstanceState) |
| 46 | 49 | ||
| 47 | val audioManager = getSystemService(AUDIO_SERVICE) as AudioManager | 50 | val audioManager = getSystemService(AUDIO_SERVICE) as AudioManager |
| 48 | with(audioManager) { | 51 | with(audioManager) { |
| 52 | + previousSpeakerphoneOn = isSpeakerphoneOn | ||
| 53 | + previousMicrophoneMute = isMicrophoneMute | ||
| 49 | isSpeakerphoneOn = true | 54 | isSpeakerphoneOn = true |
| 50 | isMicrophoneMute = false | 55 | isMicrophoneMute = false |
| 51 | mode = AudioManager.MODE_IN_COMMUNICATION | 56 | mode = AudioManager.MODE_IN_COMMUNICATION |
| @@ -228,8 +233,8 @@ class CallActivity : AppCompatActivity() { | @@ -228,8 +233,8 @@ class CallActivity : AppCompatActivity() { | ||
| 228 | 233 | ||
| 229 | val audioManager = getSystemService(AUDIO_SERVICE) as AudioManager | 234 | val audioManager = getSystemService(AUDIO_SERVICE) as AudioManager |
| 230 | with(audioManager) { | 235 | with(audioManager) { |
| 231 | - isSpeakerphoneOn = false | ||
| 232 | - isMicrophoneMute = true | 236 | + isSpeakerphoneOn = previousSpeakerphoneOn |
| 237 | + isMicrophoneMute = previousMicrophoneMute | ||
| 233 | abandonAudioFocus(focusChangeListener) | 238 | abandonAudioFocus(focusChangeListener) |
| 234 | mode = AudioManager.MODE_NORMAL | 239 | mode = AudioManager.MODE_NORMAL |
| 235 | } | 240 | } |
| @@ -23,6 +23,9 @@ class CallActivity : AppCompatActivity() { | @@ -23,6 +23,9 @@ class CallActivity : AppCompatActivity() { | ||
| 23 | var tabLayoutMediator: TabLayoutMediator? = null | 23 | var tabLayoutMediator: TabLayoutMediator? = null |
| 24 | val focusChangeListener = AudioManager.OnAudioFocusChangeListener {} | 24 | val focusChangeListener = AudioManager.OnAudioFocusChangeListener {} |
| 25 | 25 | ||
| 26 | + private var previousSpeakerphoneOn = true | ||
| 27 | + private var previousMicrophoneMute = false | ||
| 28 | + | ||
| 26 | override fun onCreate(savedInstanceState: Bundle?) { | 29 | override fun onCreate(savedInstanceState: Bundle?) { |
| 27 | super.onCreate(savedInstanceState) | 30 | super.onCreate(savedInstanceState) |
| 28 | 31 | ||
| @@ -70,6 +73,8 @@ class CallActivity : AppCompatActivity() { | @@ -70,6 +73,8 @@ class CallActivity : AppCompatActivity() { | ||
| 70 | } | 73 | } |
| 71 | val audioManager = getSystemService(AUDIO_SERVICE) as AudioManager | 74 | val audioManager = getSystemService(AUDIO_SERVICE) as AudioManager |
| 72 | with(audioManager) { | 75 | with(audioManager) { |
| 76 | + previousSpeakerphoneOn = isSpeakerphoneOn | ||
| 77 | + previousMicrophoneMute = isMicrophoneMute | ||
| 73 | isSpeakerphoneOn = true | 78 | isSpeakerphoneOn = true |
| 74 | isMicrophoneMute = false | 79 | isMicrophoneMute = false |
| 75 | mode = AudioManager.MODE_IN_COMMUNICATION | 80 | mode = AudioManager.MODE_IN_COMMUNICATION |
| @@ -92,8 +97,8 @@ class CallActivity : AppCompatActivity() { | @@ -92,8 +97,8 @@ class CallActivity : AppCompatActivity() { | ||
| 92 | binding.pipVideoView.release() | 97 | binding.pipVideoView.release() |
| 93 | val audioManager = getSystemService(AUDIO_SERVICE) as AudioManager | 98 | val audioManager = getSystemService(AUDIO_SERVICE) as AudioManager |
| 94 | with(audioManager) { | 99 | with(audioManager) { |
| 95 | - isSpeakerphoneOn = false | ||
| 96 | - isMicrophoneMute = true | 100 | + isSpeakerphoneOn = previousSpeakerphoneOn |
| 101 | + isMicrophoneMute = previousMicrophoneMute | ||
| 97 | abandonAudioFocus(focusChangeListener) | 102 | abandonAudioFocus(focusChangeListener) |
| 98 | mode = AudioManager.MODE_NORMAL | 103 | mode = AudioManager.MODE_NORMAL |
| 99 | } | 104 | } |
-
请 注册 或 登录 后发表评论