fix: 语音播放修复(AudioAttributes + clickable + 日志)
- 设置 AudioAttributes(CONTENT_TYPE_SPEECH)确保音频输出正确 - 按钮加 clickable/focusable 防止被 ScrollView 手势拦截 - 添加播放日志便于排查 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -405,12 +405,22 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
|
||||
} else {
|
||||
stopVoice() // 清理上一个
|
||||
updateVoiceUI(true)
|
||||
Timber.d("语音播放: $url")
|
||||
mediaPlayer = MediaPlayer().apply {
|
||||
setAudioAttributes(
|
||||
android.media.AudioAttributes.Builder()
|
||||
.setContentType(android.media.AudioAttributes.CONTENT_TYPE_SPEECH)
|
||||
.setUsage(android.media.AudioAttributes.USAGE_MEDIA)
|
||||
.build()
|
||||
)
|
||||
setDataSource(url)
|
||||
setOnPreparedListener { start() }
|
||||
setOnPreparedListener {
|
||||
Timber.d("语音准备完成,开始播放")
|
||||
start()
|
||||
}
|
||||
setOnCompletionListener { stopVoice() }
|
||||
setOnErrorListener { _, _, _ ->
|
||||
Timber.w("语音播放失败: $url")
|
||||
setOnErrorListener { _, what, extra ->
|
||||
Timber.w("语音播放失败: what=$what, extra=$extra, url=$url")
|
||||
stopVoice()
|
||||
true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user