index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. const io = require("socket.io-client")
  2. const fs = require('fs');
  3. const { spawn } = require('child_process')
  4. const socket = io('', {
  5. auth: {
  6. roomID: 'test',
  7. name: '666'
  8. }
  9. });
  10. socket.on('connect', () => {
  11. console.log('连接成功');
  12. })
  13. socket.on('leaved', (user) => {
  14. console.log(`${user.name}-${user.ip}离开${user.roomID}房间,人数${user.Length}`)
  15. })
  16. socket.on('joined', (user) => {
  17. console.log(`${user.name}-${user.ip}加入${user.roomID}房间,人数${user.Length}`)
  18. })
  19. socket.on('msg', data => {
  20. console.log('用户信息', data);
  21. if (data.type === 'Meadia') {
  22. // 处理buffer写入文件
  23. fs.writeFile('test.wav', data.Meadia, (er) => {
  24. if (er) {
  25. return console.error(err);
  26. }
  27. console.log("数据写入成功!,需要开启线程去播放");
  28. const ls = spawn('omxplayer', ['test.wav'])
  29. ls.on('close', (code) => {
  30. if (code === 0) {
  31. console.log('播放结束,进程结束');
  32. } else {
  33. console.log('其它问题');
  34. }
  35. });
  36. })
  37. }
  38. })
  39. socket.on('connect_error', err => {
  40. console.log('连接错误', err)
  41. })