import SwiftUI struct TrainingView: View { @ObservedObject var controller: PlayerController @ObservedObject var catalogVM: CatalogViewModel @Binding var continuousPlayback: Bool @Binding var showChineseSubtitles: Bool var chineseSubtitlePlaceholder: String = "正在翻译中文字幕…" let onFullscreen: () -> Void var body: some View { ScrollView(showsIndicators: false) { VStack(spacing: 0) { PlayerSectionView( controller: controller, showsContinuousToggle: true, continuousPlayback: $continuousPlayback, showsLessonTitle: false, showChineseSubtitles: $showChineseSubtitles, chineseSubtitlePlaceholder: chineseSubtitlePlaceholder, onFullscreen: onFullscreen ) CatalogView(vm: catalogVM) .padding(.bottom, 20) } } .onChange(of: continuousPlayback) { enabled in controller.setContinuousPlayback(enabled) controller.showTransientMessage( enabled ? "已开启连续播放,将按句子顺序连续播放" : "已关闭连续播放,将循环播放当前句子" ) } .onChange(of: showChineseSubtitles) { enabled in controller.showTransientMessage(enabled ? "已开启中文字幕" : "已关闭中文字幕") } } }