Webrtc带有Web Audio API

发布于 2025-01-21 12:37:13 字数 897 浏览 1 评论 0原文

我想从WebRTC获得跟踪,然后播放它,但是我的意识不起作用。 (Track的状态是“ Live”,但我听不到音频。) 我该怎么做

pc.ontrack = e => addTrack(e.track);
// ...
function addTrack(track) {
  const context = new AudioContext();
  const source = ctx.createMediaStreamSource(new MediaStream([track]));
  source.connect(context.destination);
}

如果没有htmlaudioelement新音频童量, 。但是下一个代码是工作:

document.getElementById('audio').srcObject = stream;

也是如此:

function gotStream(stream) {
  const audioContext = new AudioContext();
  const mediaStreamSource = audioContext.createMediaStreamSource( stream );
  mediaStreamSource.connect( audioContext.destination );
}
const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true})
gotStream(mediaStream);

I want to get track from webrtc and then play it, but my realization don't work. (Track's state is "live" but i dont hear audio.)
How can I do it without HTMLAudioElement and new Audio

pc.ontrack = e => addTrack(e.track);
// ...
function addTrack(track) {
  const context = new AudioContext();
  const source = ctx.createMediaStreamSource(new MediaStream([track]));
  source.connect(context.destination);
}

Но Volume. But the next code is work:

document.getElementById('audio').srcObject = stream;

This too:

function gotStream(stream) {
  const audioContext = new AudioContext();
  const mediaStreamSource = audioContext.createMediaStreamSource( stream );
  mediaStreamSource.connect( audioContext.destination );
}
const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true})
gotStream(mediaStream);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请叫√我孤独 2025-01-28 12:37:13

根据您的描述,我假设您是在Chrome中测试您的代码。不幸的是,这是Chrome的漫长问题,尚未解决。

在Chromium的错误跟踪器中提到它的错误之一是: https://bugs.chromium.org/p/chromium/issues/detail?id=933677#c4

必须将远程流分配给媒体元素,以便它们在Web Audio上播放。

From what you describe I assume you're testing your code in Chrome. Unfortunately this is a long standing issue in Chrome which hasn't been fixed yet.

One of the bugs mentioning it in Chromium's bug tracker is for example this one: https://bugs.chromium.org/p/chromium/issues/detail?id=933677#c4

It is a known issue that remote streams have to be assigned to a media element so that they play on web audio.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文