diff --git a/tools/chatgui-android/app/src/main/java/com/utun/chat/data/AudioRecorderManager.kt b/tools/chatgui-android/app/src/main/java/com/utun/chat/data/AudioRecorderManager.kt index 15abedd5..4ee14b23 100644 --- a/tools/chatgui-android/app/src/main/java/com/utun/chat/data/AudioRecorderManager.kt +++ b/tools/chatgui-android/app/src/main/java/com/utun/chat/data/AudioRecorderManager.kt @@ -185,7 +185,6 @@ class AudioRecorderManager { @Volatile var elapsedMs: Int = 0; private set var pausedElapsedMs: Int = 0; private set private var playThread: Thread? = null - private var currentPlayPath: String? = null fun playVoiceFile(filePath: String, onProgress: ((Float) -> Unit)? = null, onComplete: () -> Unit = {}) { playFromPosition(filePath, 0, onProgress, onComplete) @@ -193,7 +192,7 @@ class AudioRecorderManager { fun playFromPosition(filePath: String, startMs: Int, onProgress: ((Float) -> Unit)? = null, onComplete: () -> Unit = {}) { stopPlayback() - isPaused = false; elapsedMs = startMs; playing = true; currentPlayPath = filePath + isPaused = false; elapsedMs = startMs; playing = true playThread = Thread { try { @@ -246,7 +245,7 @@ class AudioRecorderManager { } catch (e: Exception) { LogManager.addLog("ERROR", "AudioPlayer", "play error: ${e.message}") } - playing = false; isPaused = false; currentPlayPath = null + playing = false; isPaused = false onComplete() }.apply { start() } } diff --git a/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt b/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt index d6008248..7b7f9ce9 100644 --- a/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt +++ b/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt @@ -285,7 +285,7 @@ class ChatViewModel : ViewModel() { fun seekVoice(filePath: String, seekMs: Int, onDone: () -> Unit) { audioRecorder.stopPlayback() _currentPlayingPath = filePath - audioRecorder.playFromPosition(filePath, seekMs, onComplete = onDone) + audioRecorder.playFromPosition(filePath, seekMs, onComplete = { _currentPlayingPath = null; onDone() }) } fun clearState() {