getUserMedia()
또는 WebRTC를 사용하는 경우 코드를 조정해야 할 수 있습니다.
Chrome 45 이상에서만 지원됩니다.
MediaStream API는 미디어의 동기화된 스트림입니다. 예를 들어 카메라로 촬영한 스트림과 마이크 입력이 비디오 및 오디오 트랙을 동기화했습니다. 각 트랙은 는 MediaStreamTrack입니다. <track> 요소와 혼동하지 마세요.
Chrome 45에서는 다음과 같은 세 가지 MediaStream
지원이 중단됩니다.
MediaStream.ended
MediaStream.label
MediaStream.stop()
동시에 두 가지 사항이 추가됩니다.
MediaStream.active
MediaStreamTrack.stop()
이를 위해서는 다음과 같이 변경해야 합니다.
MediaStream.active
를 사용하여MediaStream.ended
가 아닌MediaStream
가 스트리밍되고 있는지 확인합니다.- 스트리밍을 중지하려면
MediaStream.stop()
가 아닌MediaStreamTrack.stop()
를 사용합니다. MediaStream
에 고유 식별자가 필요하면MediaStream.label
대신MediaStream.id
를 사용하세요.MediaStreamTrack.label
는 스트림의 소스 기기에 사람이 읽을 수 있는 이름을 제공합니다. 예를 들면 FaceTime HD 카메라 (내장) (05ac:8510).
실제 동작을 확인할 수 있습니다. 다음에서 simpl.info/gum을 여세요.
Chrome (카메라가 있는 기기)으로 이동하여 Chrome DevTools 콘솔을 확인합니다. 이
MediaStream 객체 stream
이 이 객체의 getUserMedia()
콜백에 전달됩니다.
데모는 전역 범위에 있으므로 콘솔에서 검사할 수 있습니다. 전화걸기
이 스트림의 MediaStreamTrack
를 보려면 stream.getTracks()[0]
하세요.
Stop(), 종료 및 활성 상태
미디어 캡처 및 스트림 W3C 실무 그룹에서 MediaStream
에 새 트랙을 추가하면 발생하는 문제에 대한 문제를 검토했습니다.
빈 MediaStream
가 종료되었는지 여부에 관계없이
'다시 시작되지 않음'과 같이 MediaStream
에 ended
를 구현하는 적절한 방법이 없습니다. HTML5의 다른 부분 'ended' '이것은 종료되었으며 앞으로
'절대 다시 시작 안함'으로 설정합니다. '활성' 이러한 의미는 없습니다. 비활성 스트림이
새 트랙이 추가되는 등의 경우에 다시 활성화됩니다. 실무 그룹은 혼동을 주는 특성과 기능을 유지하기보다는
삭제합니다.
다음은 'MediaStream.active'를 사용하는 방법의 예입니다. 포드의 상태를 스트림:
var gumStream;
navigator.getUserMedia({audio: false, video: true},
function(stream) {
gumStream = stream;
// ...
},
function(error) {
console.log('getUserMedia() error', error);
});
// …
if (gumStream.active) {
// do something with the stream
}
MediaStream
에서 stop()
을 삭제해도 실제 기능은 삭제되지 않았습니다.
소스 장치를 분리하기 위한 프로세스 등은
어쨌든 MediaStreamTrack
입니다. 대신 MediaStreamTrack
에서 stop()
를 사용하세요.
navigator.getUserMedia({audio: false, video: true},
function(stream) {
// can also use getAudioTracks() or getVideoTracks()
var track = stream.getTracks()[0]; // if only one media track
// ...
track.stop();
},
function(error){
console.log('getUserMedia() error', error);
});
라벨
이 속성의 용도를 아는 사람은 아무도 없었습니다.
MediaStream.label
이(가) 사양의 첫 번째 버전에 추가되었지만 아무도 알지 못했습니다.
label
의 용도였습니다. 스트림이 진행될 때 label
이 어떻게 되었는지도 명확하지 않았습니다.
RTCPeerConnection
을(를) 통해 전송되었습니다.
W3C 실무 그룹이 이리저리 질문했지만 아무도 원하지 않아서 삭제했습니다.
MediaStream.id
는
MediaStream
및 MediaStreamTrack.label
는 소스 이름을 제공합니다.
스트림 유형(예: 카메라 또는 마이크 유형)입니다.
MediaStream
및 MediaStreamTrack
에 관한 추가 정보 보기
출처: Mozilla Developer Network
HTML5 Rocks는 Google의 기본 언어 환경에서 getUserMedia()
를
오디오 캡처 및 동영상
Chrome 변경사항에 관해 의견을 보내주셔서 감사합니다. 여기 및 여기에서 이러한 지원 중단에 관한 버그를 확인하고 구현 의도에서 자세한 논의와 세부정보를 확인할 수 있습니다.