【问题标题】:Playing an audio file with NodeJs on client side在客户端使用 NodeJs 播放音频文件
【发布时间】:2019-12-28 22:32:31
【问题描述】:

我正在尝试从运行节点服务器的树莓派播放音频文件。但我想要客户端(网站)的输出声音。 我尝试了一个使用 NPM 音频播放和音频加载器的解决方案,但它对我不起作用。

server.get('/api/audio', (req, res) => {
    load('public/resources/alarm.mp3').then(play);
    console.log("Alarm is playing!");
    res.send("Success");
});

我在启动服务器时也收到此错误

speaker 未找到包。改用audio-sink

这是解决我的问题的错误方法吗?有人知道更合适的模块吗?

【问题讨论】:

    标签: javascript node.js audio npm raspberry-pi


    【解决方案1】:

    html5 原生支持播放音频文件

    <audio controls>
      <source src="alarm.mp3" type="audio/mpeg">
      Your browser does not support the audio tag.
    </audio> 
    

    如果你的服务器用音频文件响应客户端请求,你可以动态创建上面的audio标签。

    【讨论】:

    • 这是我的第一次尝试,但我总是得到:“未处理的承诺拒绝:NotAllowedError:在当前上下文中,用户代理或平台不允许请求,可能是因为用户拒绝了权限”如果我尝试使用 play() 方法
    • 好吧,这是因为 Safari 浏览器阻止了所有音频自动播放,所以一切都不是由清除用户事件引起的。在我的例子中,我有一个启动计时器的按钮,当计时器过去时,应该会响起警报。
    猜你喜欢
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多