想作一個H5頁面,在微信端打開,調取手機麥克風進行錄音,由於一些緣由 不打算用微信的JSSDK提供的音頻接口,因而查到了mediaDevices.getUserMedia()方法,通過測試,說一下兼容性問題ios
<audio controls="controls"></audio>
<div class="recorderControl">錄製</div>
<script>
var promise = navigator.mediaDevices.getUserMedia({
audio: true
});
promise.then(function(stream) {
alert(stream)promise
recorder.ondataavailable = function() {
//收集媒體設備 得到到的 能夠使用的 媒體流數據
console.log(event.data)
}
});微信
promise.catch(function(error) {
alert(error.name)
alert(error.message)
});
</script>測試
1.ios手機:spa
在http環境下,在微信端打開,不彈任何東西;orm
在https環境下,在微信端打開,不彈任何東西接口
在http環境下,在safari中打開,走catch方法,分別彈(NotAllowedError)(The request is not allowed by the user agent or the plateform in the current context,possibly because the user denied permission);ip
在https環境下,在safari中打開,直接彈是否想要訪問麥克風,說明調起麥克風成功get
2.安卓手機: io
在http環境下,在微信端打開,走catch方法,分別彈(NotSupportedError)(only secure origins are allowed(see: https://goo.gl/YOZkNV));
在https環境下,在微信端打開,直接彈是否想要訪問麥克風,說明調起麥克風成功
在http環境下,在safari中打開,走catch方法,分別彈(PermissionDeniedError)();
在https環境下,在safari中打開,直接彈是否想要訪問麥克風,說明調起麥克風成功