Browse Source

Signed-off-by: Caner <5658514@qq.com>

Caner 4 years ago
parent
commit
c72594c004
3 changed files with 61 additions and 3 deletions
  1. 2 3
      README.md
  2. 44 0
      index.js
  3. 15 0
      package.json

+ 2 - 3
README.md

@@ -1,3 +1,2 @@
-# rpi-omxplayer
-
-树莓派播放wav音频
+# 测试树莓派播音频
+## apt install omxplayer

+ 44 - 0
index.js

@@ -0,0 +1,44 @@
+const io = require("socket.io-client")
+const fs = require('fs');
+const { spawn } = require('child_process')
+const socket = io('', {
+    auth: {
+        roomID: 'test',
+        name: '666'
+    }
+});
+socket.on('connect', () => {
+    console.log('连接成功');
+})
+socket.on('leaved', (user) => {
+    console.log(`${user.name}-${user.ip}离开${user.roomID}房间,人数${user.Length}`)
+})
+socket.on('joined', (user) => {
+    console.log(`${user.name}-${user.ip}加入${user.roomID}房间,人数${user.Length}`)
+})
+socket.on('msg', data => {
+    console.log('用户信息', data);
+    if (data.type === 'Meadia') {
+        // 处理buffer写入文件
+        fs.writeFile('test.wav', data.Meadia, (er) => {
+            if (er) {
+                return console.error(err);
+            }
+            console.log("数据写入成功!,需要开启线程去播放");
+            const ls = spawn('omxplayer', ['test.wav'])
+
+            ls.on('close', (code) => {
+                if (code === 0) {
+                    console.log('播放结束,进程结束');
+                } else {
+                    console.log('其它问题');
+                }
+            });
+        })
+
+    }
+})
+socket.on('connect_error', err => {
+    console.log('连接错误', err)
+
+})

+ 15 - 0
package.json

@@ -0,0 +1,15 @@
+{
+  "name": "test-node-paly-wav",
+  "version": "1.0.0",
+  "description": "",
+  "main": "index.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "author": "",
+  "license": "ISC",
+  "dependencies": {
+    "play-sound": "^1.1.5",
+    "socket.io-client": "^4.4.1"
+  }
+}