public void Start(IAudioOutput audioOutput, byte[] data) { this.audioOutput = audioOutput ?? throw new ArgumentNullException(nameof(audioOutput)); if (currentStream != data) { Stop(); currentStream = data; audioOutput.StreamData(data); } if (!audioOutput.Streaming) { audioOutput.Start(); } }