簡體   English   中英

帶有 Socket Io 的音頻流

[英]Audio streaming with Socket Io

我正在做一個項目,我可以在其中將 ZF7B44CFFAFD5C52223D5498196C8A2E7BZ 音頻直播到來自服務器的 HTML 文件,我正在為我的客戶端使用flask_socketio和 Socket io。 我不確定它為什么起作用,這是我的代碼。 服務器.py

from flask import Flask
from flask_socketio import SocketIO, send

app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecret'
socketio = SocketIO(app, cors_allowed_origins='*')

with open("bensound-spinningcollins.wav", "rb") as fwav:
    data = fwav.read(8)
    while data:
        data = fwav.read(8)
@socketio.on('message')
def handleMessage(msg):
    print('User has connected')
    while True:
        send(data)

if __name__ == '__main__':
    socketio.run(app)

這是我的客戶代碼

<html>
<head>
<title>Chat Room</title>
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Quicksand&display=swap" rel="stylesheet">
<script src="https://cdn.socket.io/3.1.1/socket.io.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<link rel="stylesheet" href="style.css">
</head>
<body>
<script type="text/javascript">
var socket = io.connect('http://127.0.0.1:5000');
socket.on('connect', function() {
    socket.send('connect');
});

socket.on('message', function(msg) {
    audioObj = new Audio(msg);
    audioObj.play();

});

</script>
</body>
</html>

沒有足夠的代表發表評論,很抱歉回復。

我認為您真正要尋找的是 WebRTC。

Socket.io 非常適合來回發送消息,但不適合連續流式傳輸。

如果您嘗試只在消息上播放聲音,為什么不直接從 JS 訪問音頻呢?

暫無
暫無

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

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