{"_id":"@sparklinkplayjoy/protocol-keyboard-v2","_rev":"34-1460e5a05462519f862eb1f932b08a74","name":"@sparklinkplayjoy/protocol-keyboard-v2","dist-tags":{"latest":"1.0.23"},"versions":{"1.0.1":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.1","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.1","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"d499ba7c690b3c68f5938b30af630746e405fa49","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.1.tgz","fileCount":96,"integrity":"sha512-aA5Bi+xraIPAuYxRJvn3tzRHGxHwSOkv/8EkYuf6uQw7X6dpw4kVzo0eA4Rz7OYUhJ8dhRqoUnZv1H7rZ74N+Q==","signatures":[{"sig":"MEUCIBuM0wOAUXV9V1syYuk/iEr5LplwxKIt6YOEY5pm9jMGAiEAiaptSKrkAvHlZCRCmsB1Ffa5VhTZUTPZGOS0dEI82Qo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200128},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.1.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"awxm","actor":{"name":"awxm","type":"user","email":"2263393353@qq.com"},"email":"2263393353@qq.com"},"_resolved":"C:\\Users\\22633\\AppData\\Local\\Temp\\854588b0b25a72cc6ea6e64cf5368c8c\\sparklinkplayjoy-protocol-keyboard-v2-1.0.1.tgz","_integrity":"sha512-aA5Bi+xraIPAuYxRJvn3tzRHGxHwSOkv/8EkYuf6uQw7X6dpw4kVzo0eA4Rz7OYUhJ8dhRqoUnZv1H7rZ74N+Q==","_npmVersion":"10.2.4","description":"- index.js 入口文件\r - byte 字节相关文件 例如 Head：0x5c\r - message 消息系统,统一处理消息的收发\r - pack 协议参数计算相关\r - tools 数据处理公共方法","directories":{},"_nodeVersion":"20.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.1_1750230753219_0.33260250847315787","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.2","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.2","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"d0de9f6e078bca192ce1b70f70988c852496ee7c","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.2.tgz","fileCount":99,"integrity":"sha512-owIgpSzUjLlXD7XcWGZv34fhQg9PW38Br3OeBcPqfHwd53LSJgY2aa0wVZXbUvLi0tfbvjsjis4FWjR/BoXcuw==","signatures":[{"sig":"MEQCIEKQc6MImzljLJEhOPOhXPLXMqXTufavTrmGSYGPzetDAiAkS79yXoD0ThQTCLWl98WMOAm9kXMo8wjdsIRUoR55kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274232},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.2.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"awxm","actor":{"name":"awxm","type":"user","email":"2263393353@qq.com"},"email":"2263393353@qq.com"},"_resolved":"C:\\Users\\22633\\AppData\\Local\\Temp\\52ef79199d5171bdad47e567753f990e\\sparklinkplayjoy-protocol-keyboard-v2-1.0.2.tgz","_integrity":"sha512-owIgpSzUjLlXD7XcWGZv34fhQg9PW38Br3OeBcPqfHwd53LSJgY2aa0wVZXbUvLi0tfbvjsjis4FWjR/BoXcuw==","_npmVersion":"10.2.4","description":"- index.js 入口文件\r - byte 字节相关文件 例如 Head：0x5c\r - message 消息系统,统一处理消息的收发\r - pack 协议参数计算相关\r - tools 数据处理公共方法","directories":{},"_nodeVersion":"20.11.1","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.2_1751458267342_0.3164390068228071","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.3","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.3","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"3c133bbe1fa9006ad7d1746308a238769622ed78","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.3.tgz","fileCount":108,"integrity":"sha512-lpc0MAZiB2Yr1C92D37LhAK57mMbAWqxCrLRNE8mFcvq2C4/4BKkDhFC//GsXgbnevpU0k94WoX2H2dhkjQVUg==","signatures":[{"sig":"MEUCIQDL3fbnfuDvFalliWQhoyGLgtyv+Tc7uykLTEdkO8CnmgIgEYrSGWg/8knsRBFzt8T/p9xawfAnOWtQAOlokYy818A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283086},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.3.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"awxm","email":"2263393353@qq.com"},"_resolved":"C:\\Users\\22633\\AppData\\Local\\Temp\\3b03450c1476d729649c71420c98f21c\\sparklinkplayjoy-protocol-keyboard-v2-1.0.3.tgz","_integrity":"sha512-lpc0MAZiB2Yr1C92D37LhAK57mMbAWqxCrLRNE8mFcvq2C4/4BKkDhFC//GsXgbnevpU0k94WoX2H2dhkjQVUg==","_npmVersion":"10.2.4","description":"- index.js 入口文件\r - byte 字节相关文件 例如 Head：0x5c\r - message 消息系统,统一处理消息的收发\r - pack 协议参数计算相关\r - tools 数据处理公共方法","directories":{},"_nodeVersion":"20.11.1","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.3_1753067920324_0.9870496178745474","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.4","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.4","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"4a9eaed97daf8a6de6348ceacf18365f19315e16","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.4.tgz","fileCount":126,"integrity":"sha512-BbcTwa/eScwIxukj1hYCL9bgbbRA+uhTHkfix0eLF3QkKnpHbvsZueug6AsLV90qLNHdIXlvUO+AF86Zc6bhlw==","signatures":[{"sig":"MEUCIQD0GXUjC589hLyA7hdsbD7T5IjIMFA5y4xl0wwu4CooRgIgRu1V23yihFkvSzb9jdFwgl4iUq2nmT/lsPKAhpMb9UI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399239},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.4.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"awxm","email":"2263393353@qq.com"},"_resolved":"C:\\Users\\22633\\AppData\\Local\\Temp\\81e97b64b615d410cbf04be9e97e00ad\\sparklinkplayjoy-protocol-keyboard-v2-1.0.4.tgz","_integrity":"sha512-BbcTwa/eScwIxukj1hYCL9bgbbRA+uhTHkfix0eLF3QkKnpHbvsZueug6AsLV90qLNHdIXlvUO+AF86Zc6bhlw==","_npmVersion":"10.9.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.11.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.4_1757057130429_0.9355210515182248","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.5","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.5","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"0385c46cae226ab8f2857bbc03830bd8e42eb857","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.5.tgz","fileCount":43,"integrity":"sha512-DHXXlAufIHp3FJJgVE1ugXG/Po1ouolfU7/sUkuUeBEZNMjjd7Uoat59LPcK5E3j0/pJWuga0uU7EjwV03mKTA==","signatures":[{"sig":"MEUCIQDl3f+NAWA5V2K+dyXzHyzBN2MfYfjyr+ih/GS8nceBfgIgca1J0miSWYhtd/RPBk8FF4zJboKqGBU6z4HB9AsfrRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":217114},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.5.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"awxm","email":"2263393353@qq.com"},"_resolved":"C:\\Users\\22633\\AppData\\Local\\Temp\\6ebc2f15c4517442fe22b8d8651b9d09\\sparklinkplayjoy-protocol-keyboard-v2-1.0.5.tgz","_integrity":"sha512-DHXXlAufIHp3FJJgVE1ugXG/Po1ouolfU7/sUkuUeBEZNMjjd7Uoat59LPcK5E3j0/pJWuga0uU7EjwV03mKTA==","_npmVersion":"10.9.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.11.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.5_1759227943973_0.4771477351727258","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.6","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.6","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"955024ae1998fcba83098284843a80b4c4fc3fe0","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.6.tgz","fileCount":43,"integrity":"sha512-pdH9k3TuJ7oNEBesZvougW0cYSRK3ZSOjmuNCK2DUJyJ8ziuo/RgdubMjLgF0xLJPyjt+2Dxmh/DVBwTFZa67A==","signatures":[{"sig":"MEUCIF1si4J6mfbe6Nwt3fnCgmYTLppb5IXra/CdLxNNrHnCAiEAtPVnK8bwoe5KwRWxNM5OY2okozMThjkPdWMu1SLbJ+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219298},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.6.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\dbe3bae96239d6c09b2087d8eac1dff1\\sparklinkplayjoy-protocol-keyboard-v2-1.0.6.tgz","_integrity":"sha512-pdH9k3TuJ7oNEBesZvougW0cYSRK3ZSOjmuNCK2DUJyJ8ziuo/RgdubMjLgF0xLJPyjt+2Dxmh/DVBwTFZa67A==","_npmVersion":"11.3.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"20.19.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.6_1760684200972_0.07590386761289558","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.7","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.7","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"0c2c701df106076c34ff15337c06c64108bc2ee3","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.7.tgz","fileCount":49,"integrity":"sha512-yKJ5TZymAu61MFk1QLPRdCSymkmPEES/OAYt26tFEtVSU9jSKcch7lPmvKX2xfgGrLtUO99vEA19eBTSbPZREg==","signatures":[{"sig":"MEUCIQCX4pzT+qnSvR4AhZxSe5l8EsDXwNmEHazGVr7H5PPrZQIgbwGqo82+O/jKpoJZB3RWvlNGHPNqc6QQ2lGb54HFv68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":244964},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.7.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\b39485de3bc1aef0681c552af50cc9d5\\sparklinkplayjoy-protocol-keyboard-v2-1.0.7.tgz","_integrity":"sha512-yKJ5TZymAu61MFk1QLPRdCSymkmPEES/OAYt26tFEtVSU9jSKcch7lPmvKX2xfgGrLtUO99vEA19eBTSbPZREg==","_npmVersion":"11.3.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"20.19.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.7_1761734678955_0.481120423217851","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.8","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.8","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"b0d19827752d2a38232df74155154482f1404e72","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.8.tgz","fileCount":49,"integrity":"sha512-N+Q/xzLzzk31FwNDyEzfZUGFiPbVPbFJhsRV7XcGpRiOFBlM+K2pTF2OsSIIAZb2gxQSl9VKAR133/nt7E6pvg==","signatures":[{"sig":"MEUCIQDKKT6imK+eUNxZW8TsWTug0LnJeoq3b293g/VWELRL7AIgKq7SCxvyKzfE1BrfZk2YY5gf8r0tvvGAaAYyqwOV5XI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245019},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.8.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\d6c8b091bf2b29aa601ce2f9081f3df8\\sparklinkplayjoy-protocol-keyboard-v2-1.0.8.tgz","_integrity":"sha512-N+Q/xzLzzk31FwNDyEzfZUGFiPbVPbFJhsRV7XcGpRiOFBlM+K2pTF2OsSIIAZb2gxQSl9VKAR133/nt7E6pvg==","_npmVersion":"11.3.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"20.19.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.8_1763783856966_0.329035971217037","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.9","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.9","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"c7d240344548f651e1808ff1b2a8903b31c06238","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.9.tgz","fileCount":49,"integrity":"sha512-W5dyetNr5J+z8orn4PgKBHOg0RRGjlVHwQhQ/LJAi+lz4SP0isJhPpRs5YGm1+G4gP6XEka3OY2BLKUCXBe0ZA==","signatures":[{"sig":"MEUCIQDyDDWoaLmFctK1uTFhcn0omzePPoizZ7EJtwQMIuP13wIgI7T3lO7c8tAN7IFoAKJ8tu+14GkYexoTiVVWpr7uvTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245488},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.9.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\563f8767f1e80ea8c617f7008a6c40b8\\sparklinkplayjoy-protocol-keyboard-v2-1.0.9.tgz","_integrity":"sha512-W5dyetNr5J+z8orn4PgKBHOg0RRGjlVHwQhQ/LJAi+lz4SP0isJhPpRs5YGm1+G4gP6XEka3OY2BLKUCXBe0ZA==","_npmVersion":"11.3.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"20.19.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.9_1764056181863_0.04801823020378615","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.10","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.10","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"55d8886688d425e42ddbd4bfccc231d829caf941","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.10.tgz","fileCount":49,"integrity":"sha512-VHZ/oEw8hBPW2XaB39Dd8uGwbPnualzURPh+aWFHRWTNN7HttQakRY+B2nPV09pKiMSWgNkl7z5Wod6BCibPIA==","signatures":[{"sig":"MEUCIELrDx+PP4tVWNoIWZUMdEi+Rk/f1D8CRpwRx5k/x04MAiEAwePVi+TAVnSwSye4EVZbjDUxwwFX6wPzrVHGI9OIrhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246323},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.10.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\be27ac973990f81ef413fda48f9431b7\\sparklinkplayjoy-protocol-keyboard-v2-1.0.10.tgz","_integrity":"sha512-VHZ/oEw8hBPW2XaB39Dd8uGwbPnualzURPh+aWFHRWTNN7HttQakRY+B2nPV09pKiMSWgNkl7z5Wod6BCibPIA==","_npmVersion":"11.3.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"20.19.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.10_1765353852335_0.6197320744026007","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.11","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.11","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"59c11adb8ffbf11d7dac4dbadadd545fdca5a669","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.11.tgz","fileCount":49,"integrity":"sha512-6Q/SBbdAqAf8x9qFzlacDNhNkRPAsBAj+F9DDUWcIfC44xD0vD5iQFrkUAY9Brdo+LoPo/ZhpBUdRJ0MdwDWqg==","signatures":[{"sig":"MEYCIQDSjijYb+dpl1FoXPxp2YWmh4l6SRiPhorr0sv2zbs5kwIhANWuOdou7IderjZTmQjV5gqSQB1Fag71WNrChkxmxf6b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":248253},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.11.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"awxm","email":"2263393353@qq.com"},"_resolved":"C:\\Users\\22633\\AppData\\Local\\Temp\\b284581ea434928cc45892b349567e7e\\sparklinkplayjoy-protocol-keyboard-v2-1.0.11.tgz","_integrity":"sha512-6Q/SBbdAqAf8x9qFzlacDNhNkRPAsBAj+F9DDUWcIfC44xD0vD5iQFrkUAY9Brdo+LoPo/ZhpBUdRJ0MdwDWqg==","_npmVersion":"10.9.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"23.0.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.11_1766117762327_0.8304117988170425","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.12","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.12","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"b375306bb9623a1404c64e9ef986f3a21d2e0548","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.12.tgz","fileCount":52,"integrity":"sha512-vN8frpEsh6iMr6dLaceUSADwfgi6LodkwqIFuGaxXD2bDNJ97U7tWXbpiHj+TZYX9ngUThLuwmIf08QTRFW36g==","signatures":[{"sig":"MEYCIQCOX2DVAvlH2M+kzERayzX76WKPKjDAMBYFlJw/sR3LVgIhAIwIrCDoUxSuHo2kg/ya10K5RmtAjBl7aj+h7nS1YE/U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268534},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.12.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"awxm","email":"2263393353@qq.com"},"_resolved":"C:\\Users\\22633\\AppData\\Local\\Temp\\fa11a2abc17d869a5313a04cfd214325\\sparklinkplayjoy-protocol-keyboard-v2-1.0.12.tgz","_integrity":"sha512-vN8frpEsh6iMr6dLaceUSADwfgi6LodkwqIFuGaxXD2bDNJ97U7tWXbpiHj+TZYX9ngUThLuwmIf08QTRFW36g==","_npmVersion":"10.9.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"23.0.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.12_1768202160566_0.9338011807431681","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.13","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.13","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"5076b6a8e28104a5e047f8ef82afeaa9b204e977","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.13.tgz","fileCount":52,"integrity":"sha512-aSeC520NezsSXgdzJaolo7Sc+k8c6mwhXsi3sahYxHzL50oDLmoBZ467Fqza5jgtDuqAj5F+NI0NYTjEuFZxqg==","signatures":[{"sig":"MEUCIQDH4Muvtt9dh+nnjfqSDo98EOQLUKAbSiUSDql9Xjm21wIgFK2E4tw5HHm5wN6eWGwtgFI/ZAyAM3RddfsoEiIFGWc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272084},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.13.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\a47d33dbeb66ac404987021f09e08a77\\sparklinkplayjoy-protocol-keyboard-v2-1.0.13.tgz","_integrity":"sha512-aSeC520NezsSXgdzJaolo7Sc+k8c6mwhXsi3sahYxHzL50oDLmoBZ467Fqza5jgtDuqAj5F+NI0NYTjEuFZxqg==","_npmVersion":"11.3.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"20.19.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.13_1768905486330_0.28048980760655384","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.14","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.14","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"e230b341ab213f3d3e59b46af63ea0a9971fbbf5","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.14.tgz","fileCount":52,"integrity":"sha512-uGBjLeG711N5Sz/nlbbYu8sxvNdLgCrRXwXlTfNuxU5z1JGG2T3pAraoKcB+ENe7f4xSyo0dhUOPv+ywkJBArA==","signatures":[{"sig":"MEUCIDgST+qqxu1ge9s5PqIalTSugSiR3BXir3EaheqH4VybAiEAuQSEL62C3+Ixy26zFM+2sBzix8gEOUDcLe8+HT31EPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":276890},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.14.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\521e0d6a38ed358e65b74d4294a97f4b\\sparklinkplayjoy-protocol-keyboard-v2-1.0.14.tgz","_integrity":"sha512-uGBjLeG711N5Sz/nlbbYu8sxvNdLgCrRXwXlTfNuxU5z1JGG2T3pAraoKcB+ENe7f4xSyo0dhUOPv+ywkJBArA==","_npmVersion":"11.11.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.14.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.14_1773916677925_0.2668673447765737","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.15","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.15","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"182d524b1e8dd6793924971390130ce806df9baa","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.15.tgz","fileCount":52,"integrity":"sha512-oITXxxqmvmhgAilrkeddn2qWXAN+FhgNGol0Caox+4MWOv54ReRkpenCuPh15Vsp6+pYqNC1cD+dw1Cl3rQJtA==","signatures":[{"sig":"MEQCIAyZr9Hvd4f0BncC18nyGBeZ18qsMV38p9ENeeA+qrCSAiAlHqQYSn76Q/toDtdUAT3DTm3nDWK+EXLfmMo7Mt4fHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279068},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.15.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\bd4869f3ed09de906d3bc409efd275fb\\sparklinkplayjoy-protocol-keyboard-v2-1.0.15.tgz","_integrity":"sha512-oITXxxqmvmhgAilrkeddn2qWXAN+FhgNGol0Caox+4MWOv54ReRkpenCuPh15Vsp6+pYqNC1cD+dw1Cl3rQJtA==","_npmVersion":"11.11.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.14.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.15_1774256624373_0.7652384636826162","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.16","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.16","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"142f9f2cebc62061d0e780bdac83fb5b4b720593","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.16.tgz","fileCount":52,"integrity":"sha512-pmATPRa+mQIhWcaiuZI0fjYDWRrrWv5S0RfUQhIdOfdKUkSfteVXZJo0tFDAfg9LTLXxllu0wSDPCB0l9/7oOw==","signatures":[{"sig":"MEUCIQDx16rkby5iIypCGt4wgJS3Vnq9luEH2qBedXETU5T4JgIgc0nTAtQrQ+mwysnNs7WMbbJb5O+UY5dVMXB8VTuFU1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280587},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.16.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\78bdec011d6881b487a21dd0610335e8\\sparklinkplayjoy-protocol-keyboard-v2-1.0.16.tgz","_integrity":"sha512-pmATPRa+mQIhWcaiuZI0fjYDWRrrWv5S0RfUQhIdOfdKUkSfteVXZJo0tFDAfg9LTLXxllu0wSDPCB0l9/7oOw==","_npmVersion":"11.11.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.14.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.16_1774690409964_0.7474579577257254","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.17","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.17","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"47cdbc5f203ac03fb051c2799afe025f7c890c25","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.17.tgz","fileCount":52,"integrity":"sha512-3FujQ6u4yoETFqQBASEuKcQ03vmBtDHcrUYgLlKqBmcp7+ATcf7FmdCJmycHBErdJB8oBDYTiMZzIcOk/JqBQg==","signatures":[{"sig":"MEUCIQCUEX/z2RxBOE7EEpGhQ6n4VlrRsQugtxlu/qnMFjEvegIgGuyZ8qE34PQtNwqmMfJxaRdy6h2XbhAYDLVJKhyJ/PA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281281},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.17.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\5a439d873b6ab14b34624db0ae694b7e\\sparklinkplayjoy-protocol-keyboard-v2-1.0.17.tgz","_integrity":"sha512-3FujQ6u4yoETFqQBASEuKcQ03vmBtDHcrUYgLlKqBmcp7+ATcf7FmdCJmycHBErdJB8oBDYTiMZzIcOk/JqBQg==","_npmVersion":"11.11.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.14.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.17_1774945129482_0.6587179355947079","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.18","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.18","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"6f17494746f84d000e31d0b6f5de6775855231fe","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.18.tgz","fileCount":52,"integrity":"sha512-FrW6ozDcjN4ye1QcOdtFLwzlv+gjVnHWeR7UwmEXqRWboYkA+LjIECF8/ySHdT0jGIJu2Ccn7WUOFjj+SGCYgw==","signatures":[{"sig":"MEUCIQC3JDoeWSzdRmJuhArJMCvJnSnI8kGINRS+1JMvrLwl7gIgdtglsNMHK7dheGbtCxTxaNbZe3fGYQ0U6nD70z4wENg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281722},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.18.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\6c25c02e30e93fd4e2d894b78e5efc85\\sparklinkplayjoy-protocol-keyboard-v2-1.0.18.tgz","_integrity":"sha512-FrW6ozDcjN4ye1QcOdtFLwzlv+gjVnHWeR7UwmEXqRWboYkA+LjIECF8/ySHdT0jGIJu2Ccn7WUOFjj+SGCYgw==","_npmVersion":"11.11.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.14.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.18_1775127125930_0.17910016053570366","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.19","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.19","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"3b68dba27f7f421782b989b9a14564ee7fde0b4b","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.19.tgz","fileCount":55,"integrity":"sha512-VUktnVnL3yqhjzeDEiS8qlj4udot3M7cIT6izSwzLrzPnoDRiGPISxfwzinsAjur2ahMBgeu9ap9l/DDV8M0Ng==","signatures":[{"sig":"MEYCIQD6X69CJwI0/n/Kb/7H2rkV5Arqd0MUcFzgDiVuOLkHMAIhAOrgP7rSU241LYSPzZTL1y0ji3cbe8rhCh+BUeDoRPxI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285577},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.19.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\3a8b07f56e307fd5a77ff4d7c42da0b1\\sparklinkplayjoy-protocol-keyboard-v2-1.0.19.tgz","_integrity":"sha512-VUktnVnL3yqhjzeDEiS8qlj4udot3M7cIT6izSwzLrzPnoDRiGPISxfwzinsAjur2ahMBgeu9ap9l/DDV8M0Ng==","_npmVersion":"11.11.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.14.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.19_1777282891198_0.6677547343533281","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.20","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.20","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"a0c2fb9bf4b6f923b644e294be4bfc5e17e33edf","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.20.tgz","fileCount":55,"integrity":"sha512-8rd6NVi0Rvrdt9XoRhPGWtPppwf9Ur7AYe+XsoQA8LmgywUC8kmeyF17fj0dBsKWR161sv7Kyooric+5t5Lvow==","signatures":[{"sig":"MEUCIEt/25cNH2zMjeU44hQLrvXamXP67MWtwCNBEhzmF6huAiEApTslM3lrPlpyKeiyjCtAstCtXQcRXzjtngaU6VJcwWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292909},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.20.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\d860639ce7c9cde98f54940977c6313e\\sparklinkplayjoy-protocol-keyboard-v2-1.0.20.tgz","_integrity":"sha512-8rd6NVi0Rvrdt9XoRhPGWtPppwf9Ur7AYe+XsoQA8LmgywUC8kmeyF17fj0dBsKWR161sv7Kyooric+5t5Lvow==","_npmVersion":"11.11.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.14.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.20_1780304877262_0.9995062771406311","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.21","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.21","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"},{"name":"to20000","email":"631297081@qq.com"},{"name":"liu1781032518","email":"1781032518@qq.com"}],"dist":{"shasum":"55b3bee5d39abb5a2a5ea8b82f437a1950d5bd37","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.21.tgz","fileCount":55,"integrity":"sha512-WM7pyu3Ua0ahsddrDhgWN7DXSLkdWI/o7nZfkfL8pQHa3VsTTLBofDmWX1tAH/tdvozQow8IqGqg9xk26Wi7Jw==","signatures":[{"sig":"MEUCIQDI0gbTvzk3x0N7Vv5pGiRFmuduHNhYKiUnf9ySMBQmLgIgcQYUOjAK1rVPcFk9vQ7c9g/R1R2/aIDezRj6jmwYZlE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297358},"main":"./dist/cjs/index.js","type":"module","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.21.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"liu1781032518","email":"1781032518@qq.com"},"_resolved":"C:\\Users\\XSS\\AppData\\Local\\Temp\\157bd1bcb5799773aa1a64c1b4fcc49c\\sparklinkplayjoy-protocol-keyboard-v2-1.0.21.tgz","_integrity":"sha512-WM7pyu3Ua0ahsddrDhgWN7DXSLkdWI/o7nZfkfL8pQHa3VsTTLBofDmWX1tAH/tdvozQow8IqGqg9xk26Wi7Jw==","_npmVersion":"11.11.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"22.14.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.21_1782901919546_0.13886429156376678","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.22","keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.22","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"}],"dist":{"shasum":"3d17b2d51137281bfef49274560ada25919d468c","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.22.tgz","fileCount":55,"integrity":"sha512-OvCa4E3lHjH3I2aG/cC+aPLc9sJzwNImAbT0RFSflrWi3cYNPM2s03wl965lQzUssPzola3DurjkJOLQG6XzSQ==","signatures":[{"sig":"MEYCIQD03/jqczqeS3QPJQIivrLDPqxYNVmgHitrkMSt9H/D6QIhAOtTfjN4+1NfJCmE9q2VyDVPdDDhgIH8e4uwZZWI60ZB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301443},"main":"./dist/cjs/index.js","type":"module","_from":"file:C:/tmp/xsyd-sdk-publish-20260729/sparklinkplayjoy-protocol-keyboard-v2-1.0.22.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_npmUser":{"name":"awxm","email":"2263393353@qq.com","approver":{"name":"awxm","email":"2263393353@qq.com"}},"_resolved":"C:\\tmp\\xsyd-sdk-publish-20260729\\sparklinkplayjoy-protocol-keyboard-v2-1.0.22.tgz","_integrity":"sha512-OvCa4E3lHjH3I2aG/cC+aPLc9sJzwNImAbT0RFSflrWi3cYNPM2s03wl965lQzUssPzola3DurjkJOLQG6XzSQ==","_npmVersion":"11.17.0","description":"获取设备的语音相关参数信息。","directories":{},"_nodeVersion":"25.0.0","dependencies":{"decimal.js":"^10.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/protocol-keyboard-v2_1.0.22_1785314530941_0.9489960893761109","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@sparklinkplayjoy/protocol-keyboard-v2","version":"1.0.23","description":"获取设备的语音相关参数信息。","type":"module","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","devDependencies":{"typescript":"5.6.3"},"exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"keywords":[],"author":{"name":"@sparklinkplayjoy"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"decimal.js":"^10.5.0"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","buildV2":"rollup -c"},"_id":"@sparklinkplayjoy/protocol-keyboard-v2@1.0.23","_integrity":"sha512-5WiuCWpX6+/qrEtNr5AdMA7LebBwxIFLI/b+fe/5bdFLtgAnDDDIlXuzXwJNSRwRUHSUXyL6K7sU20xuLM0u2w==","_resolved":"C:\\Users\\22633\\AppData\\Local\\Temp\\b52e7b8362a5870514d8919ec5ed74ba\\sparklinkplayjoy-protocol-keyboard-v2-1.0.23.tgz","_from":"file:sparklinkplayjoy-protocol-keyboard-v2-1.0.23.tgz","_nodeVersion":"25.0.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-5WiuCWpX6+/qrEtNr5AdMA7LebBwxIFLI/b+fe/5bdFLtgAnDDDIlXuzXwJNSRwRUHSUXyL6K7sU20xuLM0u2w==","shasum":"d7e9aa8ae369496c47f5e44a76de4f7c5e315f4e","tarball":"https://registry.npmjs.org/@sparklinkplayjoy/protocol-keyboard-v2/-/protocol-keyboard-v2-1.0.23.tgz","fileCount":55,"unpackedSize":307497,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAaw9ygKkOUvBr+9aPlm9RweDeic82Jh1DyNd+pC/dVjAiB4u1tmUnbcJ1ymUuA07bkvzn7WONc0MX2hqvnBRf9clQ=="}]},"_npmUser":{"name":"awxm","email":"2263393353@qq.com"},"directories":{},"maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/protocol-keyboard-v2_1.0.23_1787590368705_0.5124338527786685"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-18T07:12:33.092Z","modified":"2026-08-24T16:52:49.435Z","1.0.0":"2025-03-20T07:12:08.790Z","1.0.1-beta.0":"2025-03-24T10:19:04.907Z","1.0.1-beta.1":"2025-03-25T10:11:53.461Z","1.0.1-beta.2":"2025-03-29T09:36:34.340Z","1.0.1":"2025-06-18T07:12:33.395Z","1.0.2":"2025-07-02T12:11:07.542Z","1.0.3":"2025-07-21T03:18:40.502Z","1.0.4":"2025-09-05T07:25:30.605Z","1.0.5":"2025-09-30T10:25:44.156Z","1.0.6":"2025-10-17T06:56:41.141Z","1.0.7":"2025-10-29T10:44:39.153Z","1.0.8":"2025-11-22T03:57:37.169Z","1.0.9":"2025-11-25T07:36:22.058Z","1.0.10":"2025-12-10T08:04:12.514Z","1.0.11":"2025-12-19T04:16:02.490Z","1.0.12":"2026-01-12T07:16:00.701Z","1.0.13":"2026-01-20T10:38:06.461Z","1.0.14":"2026-03-19T10:37:58.095Z","1.0.15":"2026-03-23T09:03:44.529Z","1.0.16":"2026-03-28T09:33:30.116Z","1.0.17":"2026-03-31T08:18:49.637Z","1.0.18":"2026-04-02T10:52:06.175Z","1.0.19":"2026-04-27T09:41:31.350Z","1.0.20":"2026-06-01T09:07:57.479Z","1.0.21":"2026-07-01T10:31:59.681Z","1.0.22":"2026-07-29T08:42:11.036Z","1.0.23":"2026-08-24T16:52:48.851Z"},"author":{"name":"@sparklinkplayjoy"},"license":"MIT","keywords":[],"description":"获取设备的语音相关参数信息。","maintainers":[{"name":"sparklinkplayjoy2025","email":"SparkLinkPlayJoy@163.com"},{"name":"awxm","email":"2263393353@qq.com"}],"readme":"# Keyboard V2 Protocol\r\n\r\n## 语音功能\r\n\r\n### 获取语音参数 (getVoiceParams)\r\n\r\n获取设备的语音相关参数信息。\r\n\r\n#### 协议格式\r\n\r\n**命令**: 获取语音参数\r\n\r\n**参数**: 无\r\n\r\n**响应格式**:\r\n- 返回设备的语音参数信息\r\n\r\n### 获取喇叭列表和位置信息 (getTrumpetListAndPosition)\r\n\r\n获取设备上所有喇叭的列表和位置信息。\r\n\r\n#### 协议格式\r\n\r\n**命令**: 获取喇叭列表和位置信息\r\n\r\n**参数**: 无\r\n\r\n**响应格式**:\r\n- 返回喇叭列表和位置信息\r\n\r\n### 启动语音更新 (startVoiceUpdate)\r\n\r\n启动语音更新功能，用于向设备传输新的语音文件。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x03` - 启动语音更新\r\n\r\n**参数**:\r\n- `number[18]` - 语音编号 (0-255)\r\n- `reserve[13]` - 预留，固定值 0xFF\r\n- `size_[13]` - 文件大小 (4字节，小端序，支持最大4GB文件)\r\n- `wav_head[44]` - WAV文件头信息 (44字节)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n  - `VoiceUpdateStatus.Success (0x00)` - 成功\r\n  - `VoiceUpdateStatus.PeripheralFault (0xFF)` - 外设故障，无法进行数据传输\r\n  - `VoiceUpdateStatus.ParameterError (0xFD)` - 参数错误\r\n  - `VoiceUpdateStatus.ChecksumError (0xFC)` - 数据校验错误\r\n  - `VoiceUpdateStatus.CommandRejected (0xFE)` - 指令被拒绝\r\n  - `VoiceUpdateStatus.InsufficientSpace (0xF6)` - 空间不足\r\n  - `VoiceUpdateStatus.TidySpace (0xF9)` - 空间不足，需整理空间\r\n- `statusText` - 状态中文描述\r\n- `number[13]` - 语音编号\r\n- `size_[13]` - 文件大小\r\n\r\n### 传输语音文件 (sendVoiceFile)\r\n\r\n传输语音文件的实际数据内容。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x04` - 传输语音文件\r\n\r\n**参数**:\r\n- `offset[13]` - 数据偏移量 (4字节，小端序)\r\n- `data[n]` - 语音数据 (可变长度)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `offset[13]` - 数据偏移量\r\n- `receivedSize[13]` - 已接收数据大小\r\n\r\n### 停止语音更新 (stopVoiceUpdate)\r\n\r\n完成语音更新流程。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x05` - 停止语音更新\r\n\r\n**参数**:\r\n- `number[18]` - 语音编号 (0-255)\r\n- `reserve[13]` - 预留，固定值 0xFF\r\n- `size_[13]` - 文件大小 (4字节，小端序)\r\n- `file_name[36]` - 语音文件名 (36字节，UTF-8编码)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `number[13]` - 语音编号\r\n- `size_[13]` - 文件大小\r\n\r\n### 读取语音信息 (readVoiceInfo)\r\n\r\n读取指定语音文件的元信息。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x06` - 读取语音信息\r\n\r\n**参数**:\r\n- `number[18]` - 语音编号 (0-255)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `number[13]` - 语音编号\r\n- `size_[13]` - 文件大小\r\n- `file_name[36]` - 语音文件名\r\n\r\n### 启动读取语音文件 (startReadVoiceFile)\r\n\r\n启动语音文件读取流程。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x07` - 启动读取语音文件\r\n\r\n**参数**:\r\n- `number[18]` - 语音编号 (0-255)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `number [13]` - 语音编号\r\n- `size [18]` - 文件大小 (4字节，小端序)\r\n- `fileName` - 语音文件名 (36字节，UTF-8)\r\n\r\n### 读取语音文件 (readVoiceFile)\r\n\r\n读取语音文件数据。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x08` - 读取语音文件\r\n\r\n**参数**:\r\n- `offset[18]` - 数据索引offset (4字节，小端序)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `number [13]` - 语音编号\r\n- `offset [18]` - 数据偏移量 (4字节，小端序)\r\n- `data` - 语音数据\r\n\r\n### 停止读取语音文件 (stopReadVoiceFile)\r\n\r\n停止语音文件读取流程。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x09` - 停止读取语音文件\r\n\r\n**参数**: 无\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n\r\n### 实时播放语音 (playVoiceRealTime)\r\n\r\n实时播放指定的语音数据，支持流式传输。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x0a` - 实时播放语音\r\n\r\n**参数**:\r\n- `ctl[18]` - 控制类型\r\n  - `0x00` - 停止实时播放\r\n  - `0x01` - 启动实时播放\r\n  - `0x02` - 传输语音数据，直接播放\r\n  - `0x03` - 传输语音数据，ADPCM压缩数据\r\n  - `0x04` - 重新启动播放，直接播放\r\n  - `0x05` - 重新启动播放，ADPCM压缩数据\r\n- `index[13]` - 喇叭索引 (1字节)\r\n- `data[60B]` - 语音数据 (60字节，某些控制类型需要)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `index [13]` - 喇叭索引\r\n\r\n**注意事项**: 实时播放的音量由上位机进行数字调整\r\n\r\n### 播放语音文件 (playVoice)\r\n\r\n播放存储的语音文件，支持音量控制和播放控制。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x0b` - 播放语音文件\r\n\r\n**参数**:\r\n- `ctl[18]` - 控制类型\r\n  - `0x00` - 停止语音播放 (后随 `number`)\r\n  - `0x01` - 开始语音播放 (后随 `number`)\r\n  - `0x02` - 设置音量 (后随 `volume`)\r\n- 当 `ctl=0x00/0x01` 时：`number[18]` - 语音编号 (0-255)\r\n- 当 `ctl=0x02` 时：`volume[13]` - 音量 (0-100)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `number [13]` - 语音编号\r\n\r\n**注意事项**: 设置音量与开始/停止播放的后续参数不同，注意区分顺序\r\n\r\n### 语音空间管理 (voiceSpaceManagement)\r\n\r\n管理语音存储空间，包括删除、整理等操作。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x0c` - 语音空间管理\r\n\r\n**参数**:\r\n- `ctl[18]` - 控制类型\r\n  - `0x01` - 删除全部语音\r\n  - `0x02` - 删除全部按键对应关系\r\n  - `0x03` - 按照键值删除对应关系\r\n  - `0x04` - 按照语音编号删除语音\r\n  - `0x05` - 整理空间碎片\r\n- `number[13]` - 语音编号\r\n  - 当 `ctl=0x04` 时：填写实际语音编号\r\n  - 其他情况：自动填写 `0xFF`\r\n- `key[2B]` - 键值\r\n  - 当 `ctl=0x03` 时：填写实际键值\r\n  - 其他情况：自动填写 `0xFFFF`\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `totalSpace [18]` - 总空间 (4字节，小端序)\r\n- `usedSpace [18]` - 已使用空间 (4字节，小端序)\r\n- `freeSpace [18]` - 可用空间 (4字节，小端序)\r\n- `voiceCount [18]` - 语音文件数量\r\n\r\n**注意事项**: \r\n- 除按照语音编号删除语音外，语音编号自动写0xFF\r\n- 除按照键值删除对应关系外，键值自动写0xFFFF\r\n- SDK会自动根据控制类型填写正确的参数值\r\n\r\n### 写入键值对应语音 (writeKeyVoice)\r\n\r\n设置按键对应的语音文件和播放音量。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x0d` - 写入键值对应语音\r\n\r\n**参数**:\r\n- `key[2B]` - 按键键值 (2字节)\r\n- `volume[1B]` - 音量 (0-100，1字节)\r\n- `number[1B]` - 语音编号 (1字节)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `keyCode [18]` - 键码 (2字节，小端序)\r\n- `voiceNumber [13]` - 语音编号\r\n\r\n**功能说明**: 写入键值对应的语音索引，且标注播放音量\r\n\r\n### 读取键值对应语音 (readKeyVoice)\r\n\r\n读取按键对应的语音文件信息。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x0e` - 读取键值对应语音\r\n\r\n**参数**:\r\n- `key[2B]` - 按键键值 (2字节)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `keyCode [18]` - 键码 (2字节，小端序)\r\n- `voiceNumber [13]` - 语音编号\r\n\r\n### 根据位置读取键值 (readKeyVoiceByPosition)\r\n\r\n根据索引位置读取按键对应的语音文件信息。\r\n\r\n#### 协议格式\r\n\r\n**命令**: `0x0f` - 根据位置读取键值\r\n\r\n**参数**:\r\n- `index[2B]` - 索引值 (0 - key_count之间，2字节)\r\n\r\n**响应格式**:\r\n- `status [18]` - 返回状态\r\n- `statusText` - 状态中文描述\r\n- `index [18]` - 索引值 (2字节，小端序)\r\n- `keyCode [18]` - 键码 (2字节，小端序)\r\n- `voiceNumber [13]` - 语音编号\r\n\r\n**功能说明**: 根据索引的位置读取键值对应的语音信息\r\n\r\n### 高级功能方法\r\n\r\n#### 一键更新语音文件 (updateVoiceFile)\r\n\r\n封装完整的语音文件更新流程，包括启动、分片传输和停止。\r\n\r\n**参数**:\r\n- `number`: 语音编号 (0-255)\r\n- `fileName`: 文件名（用于stop）\r\n- `wav`: 完整WAV字节（包含44字节头）\r\n- `chunkSize`: 分片大小（默认58字节，数据区58B以满足64B报文：1+1+4+58）\r\n- `cb`: 回调函数，返回进度信息\r\n\r\n**功能**: 自动处理语音更新的完整流程，支持进度回调\r\n\r\n#### 一键读取语音文件 (readVoiceFileAll)\r\n\r\n封装完整的语音文件读取流程，包括启动、分块读取和停止。\r\n\r\n**参数**:\r\n- `number`: 语音编号 (0-255)\r\n- `chunkSize`: 读取步进（默认56字节，根据设备返回数据长度自适应）\r\n- `cb`: 回调函数，返回读取进度信息\r\n\r\n**功能**: 自动处理语音读取的完整流程，支持进度回调\r\n\r\n#### 实时播放流程 (playVoiceRealTimeFlow)\r\n\r\n封装实时播放的完整流程，包括启动、数据传输和停止。\r\n\r\n**参数**:\r\n- `index`: 喇叭索引\r\n- `data`: 实时播放的原始数据\r\n- `chunkSize`: 分片大小（默认60字节）\r\n- `cb`: 回调函数，返回播放进度信息\r\n\r\n**功能**: 自动处理实时播放的完整流程，支持进度回调\r\n\r\n#### 使用示例\r\n\r\n```typescript\r\nimport { VoiceController } from '@sparklinkplayjoy/sdk-keyboard-v2';\r\n\r\nconst voiceController = new VoiceController(deviceBase);\r\n\r\n// 1. 获取语音参数\r\nconst voiceParams = await voiceController.getVoiceParams();\r\nconsole.log('语音参数:', voiceParams);\r\n\r\n// 2. 获取喇叭列表和位置信息\r\nconst trumpetInfo = await voiceController.getTrumpetListAndPosition();\r\nconsole.log('喇叭信息:', trumpetInfo);\r\n\r\n// 3. 启动语音更新\r\nconst voiceUpdateParams = {\r\n  number: 1,                    // 语音编号\r\n  size: 0x1000000,             // 文件大小 (16MB，支持最大4GB)\r\n  wavHead: new Uint8Array(44).fill(0) // WAV文件头信息 (44字节)\r\n};\r\n\r\nconst startResponse = await voiceController.startVoiceUpdate(voiceUpdateParams);\r\nconsole.log(`启动状态: ${startResponse.statusText}`);\r\n\r\n// 4. 传输语音文件数据\r\nconst voiceData = new Uint8Array([/* 语音数据 */]);\r\nconst sendResponse = await voiceController.sendVoiceFile({\r\n  offset: 0,                    // 数据偏移量\r\n  data: voiceData               // 语音数据\r\n});\r\nconsole.log(`传输状态: ${sendResponse.statusText}`);\r\n\r\n// 5. 停止语音更新\r\nconst stopResponse = await voiceController.stopVoiceUpdate({\r\n  number: 1,                    // 语音编号\r\n  size: 0x1000000,             // 文件大小 (16MB)\r\n  fileName: 'voice_sample.wav'  // 语音文件名\r\n});\r\nconsole.log(`完成状态: ${stopResponse.statusText}`);\r\n\r\n// 6. 读取语音信息\r\nconst infoResponse = await voiceController.readVoiceInfo({ number: 1 });\r\nconsole.log(`语音信息: ${infoResponse.fileName}, 大小: ${infoResponse.size}`);\r\n\r\n// 7. 启动读取语音文件\r\nconst startReadResponse = await voiceController.startReadVoiceFile({ number: 1 });\r\nconsole.log(`启动读取状态: ${startReadResponse.statusText}`);\r\n\r\n// 8. 读取语音文件数据\r\nconst readResponse = await voiceController.readVoiceFile({ offset: 0 });\r\nconsole.log(`读取状态: ${readResponse.statusText}`);\r\n\r\n// 9. 停止读取语音文件\r\nconst stopReadResponse = await voiceController.stopReadVoiceFile();\r\nconsole.log(`停止读取状态: ${stopReadResponse.statusText}`);\r\n\r\n// 10. 实时播放语音\r\nconst playRealTimeResponse = await voiceController.playVoiceRealTime({ \r\n  ctl: VoiceRealTimeControl.Start, // 启动实时播放\r\n  index: 1, // 喇叭索引\r\n  data: new Uint8Array(60).fill(0) // 语音数据\r\n});\r\nconsole.log(`实时播放状态: ${playRealTimeResponse.statusText}`);\r\n\r\n// 11. 播放语音文件\r\nconst playResponse = await voiceController.playVoice({ \r\n  ctl: VoicePlayControl.Start, // 开始播放\r\n  number: 2 // 语音编号\r\n});\r\nconsole.log(`播放状态: ${playResponse.statusText}`);\r\n\r\n// 12. 设置音量\r\nconst volumeResponse = await voiceController.playVoice({ \r\n  ctl: VoicePlayControl.Volume, // 设置音量\r\n  volume: 80 // 音量\r\n});\r\nconsole.log(`音量设置状态: ${volumeResponse.statusText}`);\r\n\r\n// 13. 语音空间管理\r\n// 删除全部语音\r\nconst deleteAllVoiceResponse = await voiceController.voiceSpaceManagement({ \r\n  ctl: VoiceSpaceControl.DeleteAllVoice\r\n});\r\n\r\n// 删除全部按键对应关系\r\nconst deleteAllKeyMappingResponse = await voiceController.voiceSpaceManagement({ \r\n  ctl: VoiceSpaceControl.DeleteAllKeyMapping\r\n});\r\n\r\n// 按照键值删除对应关系\r\nconst deleteKeyMappingResponse = await voiceController.voiceSpaceManagement({ \r\n  ctl: VoiceSpaceControl.DeleteKeyMapping,\r\n  key: 0x1B // ESC键的键值\r\n});\r\n\r\n// 按照语音编号删除语音\r\nconst deleteVoiceResponse = await voiceController.voiceSpaceManagement({ \r\n  ctl: VoiceSpaceControl.DeleteVoiceByNumber,\r\n  number: 5 // 删除语音编号5\r\n});\r\n\r\n// 整理空间碎片\r\nconst defragmentResponse = await voiceController.voiceSpaceManagement({ \r\n  ctl: VoiceSpaceControl.Defragment\r\n});\r\n\r\n// 14. 写入键值对应语音\r\nconst writeKeyResponse = await voiceController.writeKeyVoice({ \r\n  keyCode: 0x1B, // ESC键 (2字节)\r\n  volume: 80, // 音量 (0-100)\r\n  voiceNumber: 3 // 语音编号\r\n});\r\nconsole.log(`写入键值语音状态: ${writeKeyResponse.statusText}`);\r\n\r\n// 15. 读取键值对应语音\r\nconst readKeyResponse = await voiceController.readKeyVoice({ \r\n  keyCode: 0x1B // ESC键 (2字节)\r\n});\r\nconsole.log(`键值${readKeyResponse.keyCode}对应语音编号: ${readKeyResponse.voiceNumber}`);\r\n\r\n// 16. 根据位置读取键值\r\nconst readPosResponse = await voiceController.readKeyVoiceByPosition({ \r\n  index: 0 // 索引值 (0 - key_count之间)\r\n});\r\nconsole.log(`索引${readPosResponse.index}对应键值${readPosResponse.keyCode}, 语音编号${readPosResponse.voiceNumber}`);\r\n\r\n// 17. 一键更新语音文件（高级功能）\r\nconst updateResult = await voiceController.updateVoiceFile({\r\n  number: 1,\r\n  fileName: 'new_voice.wav',\r\n  wav: wavFileData,\r\n  chunkSize: 58\r\n}, (progress) => {\r\n  console.log(`更新进度: ${progress.percentage}% - ${progress.updateStatus}`);\r\n});\r\n\r\n// 18. 一键读取语音文件（高级功能）\r\nconst readResult = await voiceController.readVoiceFileAll({\r\n  number: 1,\r\n  chunkSize: 56\r\n}, (progress) => {\r\n  console.log(`读取进度: ${progress.percentage}% - ${progress.readStatus}`);\r\n});\r\n\r\n// 19. 实时播放流程（高级功能）\r\nconst playFlowResult = await voiceController.playVoiceRealTimeFlow({\r\n  index: 1,\r\n  data: realtimeVoiceData,\r\n  chunkSize: 60\r\n}, (progress) => {\r\n  console.log(`播放进度: ${progress.percentage}% - ${progress.rtStatus}`);\r\n});\r\n\r\n// 处理响应\r\nif (startResponse.status === VoiceUpdateStatus.Success) {\r\n  console.log('语音更新启动成功');\r\n} else if (startResponse.status === VoiceUpdateStatus.InsufficientSpace) {\r\n  console.log('空间不足，需要先进行空间整理');\r\n} else {\r\n  console.log(`语音更新启动失败: ${startResponse.statusText}`);\r\n}\r\n```\r\n\r\n#### 注意事项\r\n\r\n1. 更新的语音使用WAV格式存储\r\n2. WAV文件头信息占用44字节，包含采样率、声道数、位深度等音频参数\r\n3. 启动语音更新后，需要使用 `sendVoiceFile` 命令传输实际的语音数据\r\n4. 传输完成后，使用 `stopVoiceUpdate` 命令完成更新\r\n5. 如果返回空间不足错误，需要先进行空间整理\r\n6. 文件名使用UTF-8编码，最大36字节，不足部分用0填充\r\n7. 语音读取操作需要先启动读取流程，然后分块读取数据\r\n8. 支持多种状态码，包括缓冲区管理、实时播放等状态\r\n9. 所有状态码都提供中文描述，便于调试和用户理解\r\n10. 实时播放语音支持流式传输，包含60字节数据包，音量由上位机数字调整\r\n11. 播放语音文件支持三种控制类型：停止播放、开始播放、设置音量\r\n12. 语音空间管理支持五种操作：删除全部语音、删除全部按键对应关系、按键值删除对应关系、按语音编号删除语音、整理空间碎片\r\n13. 键值语音映射支持通过键码或行列位置进行设置和查询\r\n14. 所有多字节数值（如键码、空间大小）都使用小端序字节序\r\n15. 实时播放时，快空快满时设备会主动上报ack状态\r\n16. 高级功能方法提供了完整的流程封装，简化了复杂操作的使用\r\n17. 进度回调支持实时监控操作状态和进度\r\n18. 分片大小设置需要根据协议要求进行调整，确保数据包格式正确\r\n\r\n## 介绍\r\n\r\n### 目录结构\r\n\r\n- index.js 入口文件\r\n- byte 字节相关文件 例如 Head：0x5c\r\n- message 消息系统,统一处理消息的收发\r\n- pack 协议参数计算相关\r\n- tools 数据处理公共方法\r\n","readmeFilename":"README.md"}