namespace Evergreen.Health.Application.Health.Integrations.MiAirX; /// 播放能力契约,未来音箱接入不要求是 MiAirX。 public interface IAudioPlaybackGateway { bool IsConfigured { get; } Task PlayAsync(CancellationToken cancellationToken = default); Task PlayUrlAsync(string musicUrl, CancellationToken cancellationToken = default); Task StopAsync(CancellationToken cancellationToken = default); Task SetVolumeAsync(int volume, CancellationToken cancellationToken = default); } public interface ITcmMusicRuntime { TcmMusicTransitionOutput GetStatus(); bool HasPlayableTracks(string constitutionCode); Task StartForConstitutionAsync(string constitutionCode, CancellationToken cancellationToken); Task PlayTestMusicAsync(CancellationToken cancellationToken); Task SetManualVolumeAsync(int volume, CancellationToken cancellationToken); Task StopMusicAsync(CancellationToken cancellationToken); }