如何将Xamarin表单应用程序与Azure Directline语音机器人集成?

如何将Xamarin表单应用程序与Azure Directline语音机器人集成?,azure,xamarin,botframework,speech,direct-line-botframework,Azure,Xamarin,Botframework,Speech,Direct Line Botframework,大家好, 我有一个基于azure bot框架构建的bot,并启用了直连语音频道。 我有一个xamarin表单客户端,它与机器人进行通信,并且能够从机器人接收文本响应。 我无法播放来自机器人的原始音频响应。有人有这样做的经验吗? 我非常感谢你的帮助。 谢谢 下面是代码示例 private void Connector\u ActivityReceived (对象发送方,ActivityReceivedEventArgs e) { 尝试 { var=e.活动; var activity=JsonCo

大家好, 我有一个基于azure bot框架构建的bot,并启用了直连语音频道。 我有一个xamarin表单客户端,它与机器人进行通信,并且能够从机器人接收文本响应。 我无法播放来自机器人的原始音频响应。有人有这样做的经验吗? 我非常感谢你的帮助。 谢谢

下面是代码示例

private void Connector\u ActivityReceived
(对象发送方,ActivityReceivedEventArgs e)
{
尝试
{
var=e.活动;
var activity=JsonConvert.DeserializeObject(json);
if(e.HasAudio&&activity.Speak!=null)
{ 
var audio=e.audio;//如何以xamarin格式播放e.audio的内容?
}

根据文档描述,PullAudioOutputStream表示一个内存支持的pull audio输出流。如果有一个包含音频数据的流,您可以使用类似于跨平台音频播放器的东西来播放它:

var audio = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
audio.Load(stream );
audio.Play();
找到了一个例子


CrossSimpleAudioPlayer只是对本机iOS/Android音频播放功能的抽象,如果您有其他本机实现它的首选方法,您可以使用它注入并在跨平台Xamarin.Forms核心代码中使用它。

根据文档描述,PullAudioOutputStream代表内存backed拉音频输出流。有一个包含音频数据的流,您可以使用类似于跨平台音频播放器的东西来播放它:

var audio = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
audio.Load(stream );
audio.Play();
找到了一个例子


CrossSimpleAudioPlayer只是对本机iOS/Android音频播放功能的抽象,如果您有其他本机实现它的首选方法,您可以使用它注入并在跨平台Xamarin.Forms核心代码中使用它。

什么格式是“机器人的原始音频响应”在?嗨,Jason,原始音频响应的格式是PullAudioOutputStream对象。我正在编辑这篇文章中的问题详细信息,并显示一个代码示例。谢谢!示例有帮助吗?(由于此线程中有多个其他人,如果你想让我看到你的回复,你需要@提及我。)您好@KyleDelaney。谢谢您的评论。认知服务语音助手示例在很大程度上有所帮助。但是,它们有UWP、.net core和其他一些语言的示例。Xamarin FormsHi@Jason不存在任何内容。原始音频响应的格式是PullAudioOutputStream对象。我正在编辑这篇文章中的问题详细信息以及显示代码示例。谢谢!中的“来自bot的原始音频响应”是什么格式?嗨,Jason,原始音频响应的格式是PullAudioOutputStream对象。我正在编辑本文中的问题详细信息,以及显示代码示例。谢谢!示例有帮助吗?(由于此帖子中有多个其他人,如果您想让我看到您的回复,您需要@提及我。)您好@KyleDelaney。谢谢您的评论。认知服务语音助手示例在很大程度上有所帮助。但是,它们有UWP、.net core和其他一些语言的示例。Xamarin FormsHi@Jason不存在任何内容。原始音频响应的格式是PullAudioOutputStream对象。我正在编辑这篇文章中的问题详细信息同时展示一个代码示例。谢谢!