// lib/audio/player_controller.dart import 'package:media_kit/media_kit.dart'; import '../services/playback_service.dart'; // ⭐ 修正路径 class PlayerController { static final PlayerController _instance = PlayerController._internal(); factory PlayerController() => _instance; PlayerController._internal(); final PlaybackService _playback = PlaybackService(); // ---- 状态流(只读) ---- Stream get playingStream => _playback.player.stream.playing; Stream get positionStream => _playback.player.stream.position; Stream get durationStream => _playback.player.stream.duration; Stream get completedStream => _playback.player.stream.completed; // ---- 当前状态快照 ---- bool get isPlaying => _playback.player.state.playing; Duration get position => _playback.player.state.position; Duration get duration => _playback.player.state.duration; // ---- 控制命令 ---- Future play() => _playback.resume(); Future pause() => _playback.pause(); Future stop() => _playback.stop(); Future seek(Duration position) => _playback.seek(position); // ---- 加载歌曲 ---- void load(String url, {Map? headers}) { _playback.play(url, headers: headers); } }