fix: EdgeTtsManager val 赋值编译错误

apply 块内 isPlaying 赋值改为外部引用,避免 val 重新赋值。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
dongliang
2026-05-08 12:36:18 +09:30
parent 5a386a6060
commit f01b1e3311

View File

@@ -289,23 +289,23 @@ class EdgeTtsManager @Inject constructor(
withContext(Dispatchers.Main) { withContext(Dispatchers.Main) {
try { try {
stop() stop()
mediaPlayer = MediaPlayer().apply { val player = MediaPlayer()
setDataSource(file.absolutePath) player.setDataSource(file.absolutePath)
setOnCompletionListener { player.setOnCompletionListener {
isPlaying = false isPlaying = false
onComplete?.invoke() onComplete?.invoke()
Timber.d("$TAG: 播放完成") Timber.d("$TAG: 播放完成")
} }
setOnErrorListener { _, what, extra -> player.setOnErrorListener { _, what, extra ->
Timber.e("$TAG: 播放错误 what=$what extra=$extra") Timber.e("$TAG: 播放错误 what=$what extra=$extra")
isPlaying = false isPlaying = false
true true
} }
prepare() player.prepare()
start() player.start()
mediaPlayer = player
isPlaying = true isPlaying = true
Timber.d("$TAG: 开始播放") Timber.d("$TAG: 开始播放")
}
} catch (e: Exception) { } catch (e: Exception) {
Timber.e(e, "$TAG: 播放异常") Timber.e(e, "$TAG: 播放异常")
isPlaying = false isPlaying = false