作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好,我有一个基于 azure 机器人框架构建的机器人,并启用了直接语音 channel 。我有一个 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 只是对 native iOS/Android 音频播放功能的抽象,如果您有其他首选方法来 native 实现它,您可以使用 dependency service注入(inject)它并在跨平台 Xamarin.Forms 核心代码中使用它。
关于azure - 如何将 Xamarin 表单应用与 Azure Directline 语音机器人集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65458282/
我是一名优秀的程序员,十分优秀!