2013-08-19 5 views
6

Możliwe jest pobranie adresu URL za pomocą window.URL.createObjectURL() ze strumienia podobnego do poniższego.Jak utworzyć strumień multimediów z adresu URL blob?

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 teraz mam URL blob jak:

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

Czy czy istnieje sposób na utworzenie obiektu Media Stream?

+0

Tak. https://developer.mozilla.org/en-US/docs/WebRTC/MediaStream_API Jeśli opublikowany przez Ciebie kod nie działa, najprawdopodobniej jest to ustawienie detektora po _rrc_ i pamiętaj, że blob to lokalne zasoby, więc ładowanie jest o wiele szybsze niż w przypadku zasobów internetowych. –

Odpowiedz

0

W przypadku korzystania angular2, można użyć DOMSanitizer umieszczono na platformie-browser-package:

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

a następnie wykorzystać swój strumień tak:

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

ta powinna tylko

+0

createObjectURL wkrótce przestanie działać –