in amazon-chime-sdk/src/main/java/com/amazonaws/services/chime/sdk/meetings/internal/audio/DefaultAudioClientController.kt [255:281]
override fun stop() {
if (audioClientState != AudioClientState.STARTED) {
logger.error(
TAG,
"Current audio client state $audioClientState is invalid to stop audio, ignoring"
)
return
}
GlobalScope.launch {
val res = audioClient.stopSession()
if (res != AUDIO_CLIENT_RESULT_SUCCESS) {
logger.error(TAG, "Failed to stop audio session. Response code: $res")
} else {
logger.info(TAG, "Stopped audio session.")
audioClientState = AudioClientState.STOPPED
resetAudioManager()
notifyStop()
audioClientObserver.notifyAudioClientObserver { observer ->
observer.onAudioSessionStopped(
MeetingSessionStatus(MeetingSessionStatusCode.OK)
)
}
}
}
}