簡體   English   中英

socket.io-stream 在 socket 客戶端和服務器中訪問時也面臨 404 問題

[英]socket.io-stream facing 404 issue when accessing in socket client and server also

我試圖使用 socket.io-stream 創建一個 mp3 流(已經在我的機器中添加了 .mp3 文件)並使用 client.html 文件訪問它。

使用 npm 安裝socket.io-stream並啟動后,在 chrome 控制台中出現以下錯誤:

http://localhost:5001/socket.io-stream/socket.io-stream.js net::ERR_ABORTED 404(未找到)

未捕獲的 ReferenceError:ss 未定義

這是我的 client.html 文件:

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>bb</title> </head> <body> <script src="/socket.io/socket.io.js"></script> <script src="/socket.io-stream/socket.io-stream.js"></script> <h1>Audio Testing 1 2 3</h1> <audio id="audio" controls> <source src="" type="audio/mpeg"> Your browser does not support the audio element. </audio> <br> <script> var socket = io('http://localhost:' + window.location.port); var audio = document.getElementById('audioSource'); console.log("hoi"); socket.on('start', function (data) { console.log("start"); console.log(data); // socket.emit('my other event', { my: 'data' }); socket.emit('stream', { my: 'data' }); console.log(""); ss(socket).on('audio-stream', function(stream, data) { parts = []; console.log("DATA -->> ") stream.on('data', (chunk) => { console.log(chunk); parts.push(chunk); }); stream.on('end', function () { var audio = document.getElementById('audio'); audio.src = (window.URL || window.webkitURL).createObjectURL(new Blob(parts)); audio.play(); }); }); }); </script> </body> </html>

這是我的 server.js 文件

 var express = require('express'); var app = express(); var server = require('http').Server(app); var fs = require('fs'); var io = require('socket.io')(server); var ss = require('socket.io-stream'); app.use(express.static(`${__dirname}/html`)); server.listen('5001'); app.get('/', function (req, res) { res.sendFile(__dirname + '/index2.html'); }); io.on('connection', function (socket) { socket.emit('start', { hello: 'world' }); socket.on('stream', function (data) { console.log(data); var stream = ss.createStream(); var filename = __dirname + '/audio/musicfile.mp3' ; ss(socket).emit('audio-stream', stream, { name: filename }); fs.createReadStream(filename).pipe(stream); }); });

還請提出任何建議(與套接字音頻流相關的最新教程/文章)。

您需要將文件公開到公共目錄

$ cp node_modules/socket.io-stream/socket.io-stream.js somewhere/public/

見: https : //github.com/nkzawa/socket.io-stream#browser

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM