javascript - 如何在我的 node.js 聊天室中播放声音?
问题描述
我整天都在寻找如何用 node.js 播放声音,我不能使用“document.getElementById”,也不能使用“new Audio”。我希望它能够在我在聊天室中 @everyone 时播放声音。音频文件名为“ping.mp3”,与我的主 node.js 文件位于同一路径。我需要一些建议或代码片段。谢谢!
解决方案
这是可能的,但有点棘手。您可以使用play-sound
它来为您处理:
var player = require('play-sound')(opts = {})
player.play('foo.mp3', function(err){
if (err) throw err
});
它基本上所做的是在环境中寻找声音播放器并尝试使用其中一个播放 mp3:
const { spawn, execSync } = require('child_process');
// List of players used
const players = [
'mplayer',
'afplay',
'mpg123',
'mpg321',
'play',
'omxplayer',
'aplay',
'cmdmp3'
];
// find a player by seeing what command doesn't error
let player;
for(const p of players) {
if (isExec(p)) {
player = p;
break;
}
}
function isExec(command) {
try{
execSync(command)
return true
}
catch {
return false
}
}
spawn(player, ['ping.mp3']);
推荐阅读
- node.js - Mongoose 模型未在我的 Node.js index.js 文件中导入
- reactjs - 如何处理 useState 延迟
- json - Django Rest API 更新实例问题
- python - 根据列表顺序重新排列列,然后将列表映射为新列
- ios - 数组要求 'Element' 符合 'Equatable'
- node.js - 如何将循环内的请求响应分配给节点中的数组
- ruby-on-rails - 从数据库中获取每 n 条记录 - Ruby on Rails
- javascript - 将 json 对象的索引映射到数组
- ios - iOS - superView 的相对顶部空间
- json - 使用哪种结构来解析 JSON 中的数据?