2013-06-12 58 views
10


Làm cách nào để phát hiện hỗ trợ trình duyệt cho HTML Media Capture *?Phát hiện hỗ trợ trình duyệt cho HTML Media Capture


Cách truyền thống của thử nghiệm nếu một thuộc tính được hỗ trợ dường như không làm việc trên một số thiết bị (thử nghiệm trên iPad và Google Nexus):

var elm = document.createElement(input); 
    if (capture in elm) { 
    return true; 
    } 


Có một thử nghiệm cho Modernizr nhưng nó dường như không đáng tin cậy (nó sử dụng cùng một nguyên tắc): https://github.com/Modernizr/Modernizr/pull/909

__

(*) khác ở fo trên HTML Media Capture:

http://www.w3.org/TR/html-media-capture/
http://www.html5rocks.com/en/tutorials/getusermedia/intro/#toc-round1

+0

Vì thử nghiệm bạn có ở trên không hoạt động, trước tiên tôi sẽ thêm phần tử vào phần thân và đặt loại để chấp nhận phương tiện (tức là các thuộc tính 'type =" file "', 'accept =" hình ảnh/* "', 'accept =" video/* "', v.v.), nếu điều đó không thành công thì tôi có thể đi với chỉ cần đi mặc dù chuỗi tác nhân người dùng và thử nghiệm nếu trình duyệt là phiên bản có hỗ trợ. Ngoài ra, bạn không có dấu ngoặc kép xung quanh 'input' hoặc' capture' của bạn để nó sẽ bị lỗi vì chúng sẽ là biến không xác định. –

+0

Câu hỏi đã được trả lời ở đây: http://stackoverflow.com/questions/12199736/detect-html5-media-capture-api-support – mbejda

Trả lời

0

Đây là hình thức chụp phương tiện truyền thông trong các trình duyệt lỗi thời, không dùng nữa, và lỗi thời. Các tiêu chuẩn mới, getUserMedia, có thể được phát hiện như vậy:

function hasGetUserMedia() { 
    return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || 
     navigator.mozGetUserMedia || navigator.msGetUserMedia); 
} 
+3

Bạn có thể chia sẻ nơi mà nó nói rằng HTML Media Capture không được chấp nhận và lỗi thời? – mscdex

+2

Tôi sẽ thêm rằng nó không thể xảy ra rằng nó đã lỗi thời, cũng không bị phản đối cũng không lỗi thời vì nó không bao giờ biến mất khỏi bản nháp. API luồng và HTML MEDIA Capture khác nhau, trước đây cung cấp luồng, khi sau này cung cấp Tệp. – Kaiido

1

Tôi hy vọng tôi sai, nhưng có vẻ như chúng ta sẽ không thể làm cho phát hiện này ...

các last paper về vấn đề này HTML MEDIA Capture API (đó là khác biệt so với các API streaming/GetUserMedia), như được đăng vào năm ngoái (2014), và không bao giờ đi ra khỏi dự thảo ...

comment này từ năm 2012 trên một yêu cầu triển khai tính năng này trong Firefox rõ ràng tuyên bố rằng:

[T] ở đây không thực sự cần thực hiện điều đó. Nó sẽ đến miễn phí với hệ thống Android Intent. Chúng ta chỉ nên gọi ý định cho ACTION_IMAGE_CAPTURE/ACTION_VIDEO_CAPTURE.

Điều đó có nghĩa rằng tính năng này xuất phát từ hệ điều hành trực tiếp, và rằng chúng ta như các nhà phát triển sẽ không có cách nào để biết nếu điều này sẽ có mặt hay không ...

Vì vậy, cách duy nhất để phát hiện tính năng này dường như là một kết hợp UserAgent so với các thiết bị hỗ trợ đã biết ...

Các vấn đề liên quan