Files
App/ios/WatchRunner Watch App/Views/AudioPlayerView.swift
2025-10-29 21:44:33 +08:00

48 lines
1.1 KiB
Swift

//
// AudioPlayerView.swift
// WatchRunner Watch App
//
// Created by LittleSheep on 2025/10/29.
//
import SwiftUI
import AVFoundation
struct AudioPlayerView: View {
let audioUrl: URL
@State private var player: AVPlayer?
@State private var isPlaying: Bool = false
var body: some View {
VStack {
if player != nil {
Button(action: togglePlayPause) {
Image(systemName: isPlaying ? "pause.circle.fill" : "play.circle.fill")
.font(.largeTitle)
}
.buttonStyle(.plain)
} else {
Text("Loading audio...")
}
}
.onAppear {
player = AVPlayer(url: audioUrl)
}
.onDisappear {
player?.pause()
player = nil
}
}
private func togglePlayPause() {
guard let player = player else { return }
if isPlaying {
player.pause()
} else {
player.play()
}
isPlaying.toggle()
}
}