2013-08-19 42 views
6

Có thể lấy URL bằng cách sử dụng window.URL.createObjectURL() từ luồng như trong mã bên dưới.Cách tạo luồng truyền thông từ 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); 
} 
); 

Vấn đề là bây giờ tôi có một URL blob như:

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

Is có cách nào để tạo đối tượng Media Stream cho điều đó không?

+0

Có. https://developer.mozilla.org/en-US/docs/WebRTC/MediaStream_API Nếu mã bạn đăng không hoạt động, rất có thể là vì bạn đang đặt trình lắng nghe sau _src_ và nhớ rằng blob là một tài nguyên cục bộ để tải nhanh hơn nhiều so với tài nguyên internet. –

Trả lời

0

Trong trường hợp bạn đang sử dụng angular2, bạn có thể sử dụng DOMSanitizer cung cấp trong nền tảng plug-in gói:

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

và sau đó sử dụng luồng của mình như sau:

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

nên này chỉ

+0

createObjectURL sắp bị phản đối –