播放从 Azure 语音翻译中以 byte[] 形式获取的音频

Play audio obtained as byte[] from Azure Speech translation

我正在关注samples for Microsoft Cognitive Services Speech SDK, namely the Speech Translation

dotnet 核心示例使用麦克风作为音频输入并翻译您所说的内容。翻译结果也可作为合成语音使用。我想播放此音频,但找不到合适的代码。

尝试使用此 中建议的 NAudio,但音频出现乱码。猜猜音频的格式更多。

有什么指点吗?

在 .Net Core 上,许多音频包可能无法运行。例如,使用 NAudio,我无法在 Mac.

上播放声音

我使用 NetCoreAudio 包 (Nuget) 实现了它,在翻译 Synthesizing 事件中有以下实现:

recognizer.Synthesizing += (s, e) =>
{
    var audio = e.Result.GetAudio();
    Console.WriteLine(audio.Length != 0
        ? $"AudioSize: {audio.Length}"
        : $"AudioSize: {audio.Length} (end of synthesis data)");

    if (audio.Length > 0)
    {
        var fileName = Path.Combine(Directory.GetCurrentDirectory(), $"{DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss.wav")}");
        File.WriteAllBytes(fileName, audio);

        var player = new Player();
        player.Play(fileName).Wait();    
    }
};