微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

大家好, 我有一个建立在 azure bot 框架上的机器人,并启用了直线语音通道。 我有一个与机器人通信的 xamarin 表单客户端,并且能够从机器人接收文本响应。 我无法播放来自机器人的原始音频响应。有没有人有这样做的经验? 我真的很感激你的帮助。 谢谢!

下面的代码示例

private void Connector_ActivityReceived
(object sender,ActivityReceivedEventArgs e)
{
    try
    {
        var json = e.Activity;
        var activity = JsonConvert.DeserializeObject<Activity>(json);
        
        if (e.HasAudio && activity.Speak != null)
        { 
           var audio = e.Audio; // How do I play the contents of e.Audio in xamarin forms?
        }

解决方法

根据文档的描述中,PullAudioOutputStream表示存储器备份拉音频输出流。有与音频数据流,你可以使用像一个跨平台的音频播放器进行播放:

var audio = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
audio.Load(stream );
audio.Play();

实施例中发现here

在CrossSimpleAudioPlayer仅有原生的iOS /音频播放的Android功能的抽象,如果你要实现它的其它优选方式本身,你可以使用dependency service注入,并在跨平台使用Xamarin.Forms核心代码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。