Ich streame Audio mit http. Ich lade das Audio mit dem folgenden Code.Einstellen von currentTime funktioniert nicht beim Streaming von Audio über http
var audio = new Audio("http://example.com/get/stream/1/wav");
function seek(time){
audio.currentTime = time;
}
Der Browser kann das Audioformat wiedergeben.
Ich verwende einen Nodejs Express-Server, um die Audiodatei zu bedienen. Im Folgenden finden Sie eine vereinfachte Version des Codes, der den Stream verarbeitet.
app.get("/get/stream/:id/:format", function(req, res){
//Here was some code to verify the request, this code doesn't affect this question so I left it out
var stat = fs.statSync(__dirname+"/path/to/file/here.wav");
res.header("Content-Type", "audio/wav");
res.header("Content-Length", stat.size);
var readStream = fs.createReadStream(__dirname+"/path/to/file/here.wav");
readStream.pipe(res);
});
Wenn ich eine normale Audiodatei (eine, die nicht http-Streaming nicht verwendet) lade Funktion des Such normal funktionieren wird, aber wenn ich eine Audio-Datei, die den Songs http-Streaming nicht verwendet wird, um die gerade springen Anfang.
Ich muss HTTP-Streaming verwenden, weil einige Dateien extrem groß sind und Komprimieren/Transcodieren sie zu einer kleineren Größe ist keine Option?
Also meine Frage ist: Wie kann ich die aktuelle Zeit einer Audiodatei ändern, die HTTP-Streaming verwendet?