2017-05-14 3 views
0

Ich würde gerne eine Klasse Track verwenden, um eine Funktion playsound() zu haben, und das sollte den Sound auf einer HTML-Vorlage spielen.Abspielen html5 Sound-Dateien mit Kolben

Das ist meine Klasse:

class Track: 
def __init__(self, name, path): 
    self.name = name 
    self.path = path 

def playsound(self): 
    # does something 

Jetzt weiß ich, dass ich Javascript benötigt, und auch wahrscheinlich ajax. Aber ich bin noch neu in dem Konzept und ich würde gerne sehen, wie ich das erreichen würde. Die Sound-Datei sollte onload spielen und einfach aufgerufen werden soll, wenn Sie Folgendes eingeben:

songname = Track('name', 'music/filename.ogg') 

@app.route('/playSong') 
def playSong(): 
    return songname.play() 

Wenn es keine Möglichkeit gibt, kann dies auf diese Weise durchgeführt werden, oder es ist ein viel besserer Weg, würde ich gerne sein erleuchtet. Danke im Voraus!

Antwort

0

Wenn ich die Frage richtig verstanden habe, sollten Sie ein <Audio> HTML-Element in Ihre Vorlage einfügen und von dort gehen. Flask dient nur der gerenderten Vorlage, es kann den Ton nicht direkt abspielen.

+0

Richtig, aber wie würde ich eine JavaScript-Funktion auslösen, um die String-Daten aus der Python-App zu verwenden. Ist das möglich? –

+0

Sie könnten eine URL in Flask erstellen, die nur die Audioquelle zurückgibt (in Ihrem Fall "music/filename.ogg"). Dann, von JavaScript, eine AJAX-Anfrage an diese URL, holen Sie sich die Audio-Quelle, und getElementById verwenden, um das

+0

Können Sie mir einen Beispielcode dafür geben? Ich glaube nicht, dass ich es zur Arbeit bringen kann ... –

Verwandte Themen