getUserMedia のサポートを検出するときに問題があります。Android 4.2.2 を使用しています。
問題は、Android ブラウザが getUserMedia をサポートしているかのように動作することですが、それを使用すると、成功関数も失敗関数も呼び出されません。以下のコード:
function onCameraFail(e){
alert("Failed getting media");
}
if (navigator.webkitGetUserMedia) {
alert("getMedia supported");
navigator.webkitGetUserMedia({video:true}, function (stream) {
alert("Got media");
}, onCameraFail);
alert("after getMedia");
}else{
//Old device, no support for providing a photo
alert("No support for getUserMedia");
}
Android ブラウザーでは、このコードは「getUserMedia supported」というポップアップを表示しますが、「メディアを取得しました」または「メディアの取得に失敗しました」というポップアップは表示されません。Android の Chrome で同じコードを実行すると、「getUserMedia はサポートされていません」と表示されます。
なぜこの動作ですか?これが機能のサポートを確認する一般的な方法だと思いました。