2013-05-02 2 views
11

현재, 저는 아주 간단한 것을하려고합니다. (글쎄, 실제로는 간단하다고 생각했습니다 ...) : 웹캠에서 사진을 찍고 싶습니다. 웹 응용 프로그램.HTML 미디어 캡처 API 대 getUserMedia()

1. 정말 쉽게 보이는 HTML 미디어 캡처 API :

<input type="file" accept="image/*" capture="camera"> 

2. 자바 스크립트의 미디어 스트림도 아주 쉽게 볼 :

나는 두 가지 가능성을 통해 발견
navigator.getUserMedia() 

여기 내 질문 :

HTML 미디어 캡처 API가 데스크톱 브라우저에서 작동하지 않고 JavaScript 미디어 스트림이 iOS에서 작동하지 않습니다. 그래서 어느 것을 가져 가야합니까? 양자 모두? 어느 것이 미래에 개발 될 것입니까? 어느 쪽이 선호되는 방법입니까? 어느 것을 더 선호 해? 하나의 솔루션에 운임이 표시되지 않는 단점이 있습니까 (호환성 제외)?

감사합니다.

은 BTW :;,

+1

이것은 최첨단의 물건입니다 ... 여기에 당신이 http://html5doctor.com/getusermedia/ 및 http://davidwalsh.name/browser-camera (너무 많은 정보를 다시 시작하는 데 도움이 될 것입니다 2 좋은 게시물입니다 여기에 게시 - 죄송 링크 frowners). – carrabino

+2

두 가지 모두를 말하고 싶습니다. 가장 간단한 개념은 Modernizr 또는 다른 기능 감지를 사용하고, 입력이 있고, 입력이 네이티브로 작동하지 않으면 자바 스크립트 버전을 트리거하는 것입니다. 그것은 모든 진보적 인 향상을 다루는 표준적인 방법입니다. 따라서 새로운 요소는 없습니다.이 요소들/api는 새로운 것입니다. –

답변

2

모바일 브라우저를 도움이되기를 바랍니다

<input type="file" accept="image/*" capture >

안드로이드 (3.0 이상) 카메라로 바로 이동합니다 :

를 사용하여 HTML 미디어 캡처 이미지 카메라에서 직접를 촬영합니다. 여기 몇 가지 CSS 스타일 돌볼 것입니다 방법은 다음과 같습니다

Pipe Video Recorder on Android

아이폰 OS (6-10) 여전히 당신이 capture를 지원하지 않기 때문에 기존의 사진을 선택할 수있는 옵션을 제공 할 것입니다. 자세한 내용은 Correct Syntax for HTML Media Capture을 참조하십시오.

데스크톱 브라우저 :

1) 웹캠에 액세스 : 사용의 MediaStream의 API의 getUserMedia :

navigator.getUserMedia 또는

2 navigator.mediaDevices.getUserMedia을 기반으로 새로운 약속) 스냅 샷을 캔버스를 사용

David Walsh's example은 데스크톱의 두 단계를 모두 다루고 있습니다.