如何从socket.io事件中播放声音?

时间:2015-02-08 13:18:18

标签: javascript html node.js audio socket.io

每当按下空格键时,我想在客户端播放声音文件。

客户端成功发出了' bang'按下空格键时的事件:

$(window).keydown(function(event){
    alert(event.keyCode);
if (event.keyCode == 32){
        socket.emit('bang'); 
}
});

服务器端成功打印" bang"在control.log中,所以希望它也在发挥' play':

io.on('connection', function(socket){
  socket.on('bang', function(){
    console.log('bang');
    io.emit('play');
  });
});

然而,回到客户端播放声音,没有任何事情发生。 我正在使用的代码是:

var sound = new Audio('/public/audio/1.mp3');   

socket.on('play', function () {
    sound.play();   
});

我是否需要在正文中包含一些与音频有关的内容或者为了使用音频对象。

我已经对此进行了彻底的搜索,但我对node.js,html和socket.io非常新。 我尝试了这里给出的建议: Play Audio from client when message is recieved from socket.io - node.js

但是当我输入时:

app.use('/public', express.static('/path/to/public'));

'静态'被标记,在尝试运行代码时,我收到了一条错误消息:' express未定义,即使我之前提到过:

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

正如该帖所述。之后我也尝试了它并得到了同样的错误。

请帮帮我。

0 个答案:

没有答案