首页 > 解决方案 > 为什么 getuserMedia 音频在 Mac OS 的 Safari 11.1 中不起作用

问题描述

我正在尝试播放 webrtc DEMO引用的 getUserMedia 音频示例。

它适用于所有浏览器,但不适用于 Mac OS 的Safari 11.1。有趣的是,它适用于 iPad 的 Safari。

var tempStream;
// Put variables in global scope to make them available to the browser console.
const audio = document.querySelector('audio');

const constraints = window.constraints = {
  audio: true,
  video: true
};

function handleSuccess(stream) {
  const audioTracks = stream.getAudioTracks();
  tempStream = stream; // make variable available to browser console
}

function audioPlay() {
  audio.srcObject = tempStream;
  audio.play();
}

document.querySelector('#audioPlay').addEventListener('click', audioPlay);

navigator.mediaDevices.getUserMedia(constraints).then(handleSuccess);
<div id="container">
  <audio id="gum-local" controls></audio> <br />
  <button id="audioPlay"> <b> PLAY AUDIO </b>	</button>
</div>

标签: javascriptsafariwebrtcgetusermedia

解决方案


推荐阅读