2014-06-16 16 views
5

Ich benutze JPlayer, der verschiedene Audiodateien basierend auf den Benutzereingaben abspielt. Jedes Mal, wenn ein Benutzer eine Eingabe eingibt, rufe ich einen REST-Webdienst auf, um die Audiodatei für die Wiedergabe abzurufen. Die Antwort vom REST-Service ist ein Byte [].Kann JPlayer Datei von Bytearray wiedergeben?

Was ich versuche zu erreichen, ist dieses Array von Byte im Speicher zu speichern, anstatt es in eine Datei zu schreiben und dieses Byte [] für jplayer zu verwenden. Ich bin mir nicht sicher, wie ich JPlayer dazu bringen kann, ein Byte zu spielen [].

var file = [[${audiofile}]] 

$(document).ready(function(){      
    $("#jquery_jplayer_1").jPlayer(
    { 
     ready: function() {        
      $(this).jPlayer("setMedia",{                 
      wav: file 
     }); 
    }, 

Die Variablendatei wird zu einem Byte [] ausgewertet. Beim Versuch, das Audio wiederzugeben, sehe ich den folgenden Fehler in der Konsole.

Uncaught Typeerror: Object -1, -5, -112, -60,0,3,19,124, -73 .......

Ich werde es begrüßen, wenn jemand irgendwelche Vorschläge.

Dank

Antwort

2

Leider scheint diese Funktion gerade nicht implementiert. Aus dem Quellcode von JPlayer 2.9.2 aus Zeile 1945:

setMedia: function(media) { 

     /* media[format] = String: URL of format. Must contain all of the supplied option's video or audio formats. 
     * media.poster = String: Video poster URL. 
     * media.track = Array: Of objects defining the track element: kind, src, srclang, label, def. 
     * media.stream = Boolean: * NOT IMPLEMENTED * Designating actual media streams. ie., "false/undefined" for files. Plan to refresh the flash every so often. 
     */ 

Bitte beachten Sie die letzte Zeile. Ich wünschte, ich hätte bessere Neuigkeiten.

REF: https://github.com/happyworm/jPlayer/blob/master/src/javascript/jplayer/jquery.jplayer.js

Einige Gefährten kam nah an einer Lösung, aber nicht mit JPlayer. REF: How to play audio byte array (not file!) with JavaScript in a browser