socket.io-stream сталкивается с проблемой 404 при доступе в сокет клиент и сервер также - PullRequest
0 голосов
/ 10 ноября 2018

Я пытался создать поток mp3 (уже добавил файл .mp3 на моем компьютере) с помощью socket.io-stream и получить к нему доступ, используя файл client.html.

После установки socket.io-stream с npm и запуском, появляется сообщение об ошибке ниже в консоли chrome:

http://localhost:5001/socket.io-stream/socket.io-stream.js net :: ERR_ABORTED 404 (не найдено)

и

Uncaught 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);
  });
});

Также, пожалуйста, предложите любые указатели (последние уроки / статьи, связанные с потоковой передачей звука через сокеты).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...