0

我目前正在研究将公告系统与 sonos 集成的可能性,但尚未找到合理的方法,并且开始怀疑目前是否有可能。

我最初的方法是让歌曲订阅一个广播电台,该电台会不断发送公告。在使用此设置进行测试后,我无法获得低于 3 秒的延迟(这太长了)。

然后我开始研究 sonos API查看文档和下图,我得出的结论是,我试图实现的目标是可以使用 sonos 实现的。声纳图

然而,实现一项服务似乎需要付出巨大的努力,我可以直接将音频流式传输到 Sonos,所以我希望在继续进行相当昂贵的实施之前,我可以弄清楚一些事情。(时间)

  1. 直接流式传输时是否可以获得低于 3 秒的音频延迟?
  2. 我是否正确理解我需要在 Sonos 平台上编写一个应用程序来处理我的请求?
  3. 如果上面的答案是否定的;还有哪些其他选择?
4

2 回答 2

1

只需使用我的图书馆播放通知

const SonosDevice = require('@svrooij/sonos').SonosDevice
const sonos = new SonosDevice(process.env.SONOS_HOST || '192.168.96.56')

sonos.PlayNotification({
    trackUri: 'https://cdn.smartersoft-group.com/various/pull-bell-short.mp3', // Can be any uri sonos understands
    // trackUri: 'https://cdn.smartersoft-group.com/various/someone-at-the-door.mp3', // Cached text-to-speech file.
    onlyWhenPlaying: false, // make sure that it only plays when you're listening to music. So it won't play when you're sleeping.
    timeout: 10, // If the events don't work (to see when it stops playing) or if you turned on a stream, it will revert back after this amount of seconds.
    volume: 15, // Set the volume for the notification (and revert back afterwards)
    delayMs: 700 // Pause between commands in ms, (when sonos fails to play sort notification sounds).
  })
  .then(played => {
    console.log('Played notification %o', played)
  })

在节点/打字稿中工作并且有很多可能性。

于 2020-10-28T16:50:23.660 回答
1

高位,

我们当前的公共 API 确实不适合您尝试做的事情。有一些开源项目正在使用反向工程 API,这些 API 可能对您更有效。

于 2016-08-06T19:25:38.517 回答