electron如果实现多人一起播放音乐
时间: 2023-04-10 21:02:42 浏览: 64
可以使用 Socket.io 实现多人一起播放音乐,具体实现方式可以参考以下代码:
// server.js
const express = require('express');
const app = express();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
app.use(express.static(__dirname + '/public'));
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('play', (data) => {
console.log('play event received');
socket.broadcast.emit('play', data);
});
socket.on('pause', () => {
console.log('pause event received');
socket.broadcast.emit('pause');
});
socket.on('disconnect', () => {
console.log('user disconnected');
});
});
server.listen(3000, () => {
console.log('listening on *:3000');
});
// client.js
const socket = io();
const audio = document.getElementById('audio');
socket.on('play', (data) => {
console.log('play event received');
audio.src = data.src;
audio.currentTime = data.currentTime;
audio.play();
});
socket.on('pause', () => {
console.log('pause event received');
audio.pause();
});
audio.addEventListener('play', () => {
console.log('play event emitted');
socket.emit('play', {
src: audio.src,
currentTime: audio.currentTime
});
});
audio.addEventListener('pause', () => {
console.log('pause event emitted');
socket.emit('pause');
});