diff --git a/demo/Sources/WrapperTestView.swift b/demo/Sources/WrapperTestView.swift index de41608..bb79151 100644 --- a/demo/Sources/WrapperTestView.swift +++ b/demo/Sources/WrapperTestView.swift @@ -151,6 +151,22 @@ struct WrapperTestView: View { Button("unbind") { runUnbind() } .buttonStyle(.bordered) } + + HStack { + Text("PlayMode") + .font(.caption) + Spacer() + if let mode = viewModel.deviceInfo?.loop { + Text(mode == .loop ? "循环" : "单播") + .font(.caption) + .foregroundColor(.secondary) + } + Button("Single") { runSetPlayMode(.single) } + .buttonStyle(.bordered) + Button("Loop") { runSetPlayMode(.loop) } + .buttonStyle(.bordered) + } + .disabled(!viewModel.isActivated || isBusy) } } @@ -396,6 +412,22 @@ struct WrapperTestView: View { } } + private func runSetPlayMode(_ mode: PlayMode) { + isBusy = true + log("→ setPlayMode(\(mode == .loop ? "loop" : "single"), userId=\(userId))") + viewModel.sdk.setPlayMode(mode, userId: userId) { [self] result in + DispatchQueue.main.async { + self.isBusy = false + switch result { + case .success(let resp): + self.log("setPlayMode ✓ sn=\(resp.sn)", level: .success) + case .failure(let error): + self.log("setPlayMode ✗ \(error.localizedDescription)", level: .error) + } + } + } + } + private func runTransfer() { isBusy = true log("→ transferMedia(\(fileUrl))")