2013-08-19 9 views
6

Es ist möglich, die URL unter Verwendung window.URL.createObjectURL() von einem Strom wie in unter Code zu erhalten.Wie erstelle ich einen Media Stream von einer Blob URL?

navigator.getUserMedia({ video: true, audio: true }, function (localMediaStream) { 

    var video = document.querySelector('video'); 
    video.src = window.URL.createObjectURL(localMediaStream); 
    video.onloadedmetadata = function (e) { 
     // Do something with the video here. 
    }; 
}, 
function (err) { 
    console.log("The following error occured: " + err); 
} 
); 

Problem jetzt ist ich einen Klecks URL wie haben:

Blob: http% 3A // localhost% 3A1560/f43bed15-da6c-4ff1-b73c-5640ed94e8ee

Ist gibt es eine Möglichkeit, ein Media Stream-Objekt dafür zu erstellen?

//your code comes here... 
video.src = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(stream)); 

Dies sollte:

import { DomSanitizer } from '@angular/platform-browser'; 
constructor(
    private sanitizer: DomSanitizer) { 
} 

und dann Strom wie folgt verwendet werden:

+0

Ja. https://developer.mozilla.org/en-US/docs/WebRTC/MediaStream_API Wenn der von Ihnen gepostete Code nicht funktioniert, liegt es wahrscheinlich daran, dass Sie den Listener nach _src_ setzen und sich daran erinnern, dass ein Blob ein lokale Ressource, so ist es viel schneller zu laden als eine Internet-Ressource. –

Antwort

0

Falls Sie angular2 verwenden, können Sie die DOMSanitizer in der Plattform-Browser-Paket bereitgestellt verwenden nur

+0

createObjectURL wird bald veraltet sein –

Verwandte Themen