Warum funktioniert Flask und Websockets nicht?
Hallo,
ich wollte meinen Python- Code mit meinem HTML- Code verbinden, damit, wenn mein Wake- Word "Luna" erkannt wurde, der Hintergrund der Datei output.html seine Farbe ändert und rot wird. Hier ist der Code:
Python:
from flask import Flask, render_template
from flask_socketio import SocketIO
app = Flask(__name__)
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('connect')
def handle_connect():
print("Client verbunden")
@socketio.on('disconnect')
def handle_disconnect():
print("Client getrennt")
@socketio.on('change_background')
def change_background(color):
print("Hintergrundfarbe ändern:", color)
socketio.emit('background_changed', color)
HTML /CSS:
... body {
background-color: black;
margin: 0;
padding: 0;
text-align: center;
overflow-x: hidden;
overflow-y: hidden;
-webkit-user-select: none; /* Für WebKit-Browser */
-moz-user-select: none; /* Für Mozilla-basierte Browser */
-ms-user-select: none; /* Für Microsoft Edge */
user-select: none;
}
</style>
</head>
<body>
JavaScript:
... // FLASK
var socket = io();
socket.on('connect', function() {
console.log('Verbunden mit dem Server');
});
socket.on('disconnect', function() {
console.log('Verbindung zum Server getrennt');
});
socket.on('background_changed', function(color) {
console.log('Hintergrundfarbe geändert:', color);
document.body.style.backgroundColor = color;
});
</script>
</body>
</html>
"""
with open("output.html", "w") as html_file:
html_file.write(html_content)
return "output.html"
Wenn ich den Code aber ausführe und "Luna" sage, ändert der Hintergrund nicht seine Farbe. Woran liegt das?
Freundliche Grüsse
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
HTML, Webseite, JavaScript
Ich sehe nicht, dass du in deinem geteilten Code irgendwo eine Sprachaufnahme/-verarbeitung durchführst.
Beschäftige dich mit der Web Speech API oder nutze eine Bibliothek wie annyang.