gpt4 book ai didi

javascript - 使用 WebAudio API 访问音频接口(interface)的所有输入 channel ?

转载 作者:搜寻专家 更新时间:2023-11-01 04:24:49 28 4
gpt4 key购买 nike

我正在尝试访问附加的多输入音频接口(interface)的所有音频 channel 。我了解 channel 应该在使用 MediaStream 创建后由 MediaStreamAudioSourceNode 节点公开:

navigator.getUserMedia({ audio: true }, function(stream) {
var input = audio.createMediaStreamSource(stream);
console.log(input.channelCount);
});

问题是无论选择哪个设备作为用户媒体源,input.channelCount 始终为 2。 Chrome 和 FireFox 也是如此。

媒体捕获和流规范指出:

A single MediaStreamTrack can represent multi-channel content, such as stereo or 5.1 audio or stereoscopic video, where the channels have a well defined relationship to each other. Information about channels might be exposed through other APIs, such as [WEBAUDIO], but this specification provides no direct access to channels.

( http://w3c.github.io/mediacapture-main/getusermedia.html#introduction )

这表明无法通过调用 getUserMedia 来影响 channel 数量(除非我缺少一些特殊的约束参数)。

MediaStreamAudioSourceNode 的 WebAudio 规范指出:

The first AudioMediaStreamTrack from the MediaStream will be used as a source of audio. [...] The number of channels of the output corresponds to the number of channels of the AudioMediaStreamTrack.

( http://webaudio.github.io/web-audio-api/#MediaStreamAudioSourceNode )

当我检查由 getUserMedia 创建的流时,它只有一个轨道。据我所知,不可能检查该轨道的 channel 数。所以看起来要么:

  1. getUserMedia 仅将前两个音频 channel 从连接的设备流式传输到单个 MediaStreamTrack。

  2. MediaStreamAudioSourceNode 忽略的不仅仅是在 MediaStreamTrack 中找到的前两个 channel 。

有没有人有关于这个问题的更多信息?我错过了什么吗?它还没有正确实现吗?我们怎样才能修复它?

最佳答案

Chrome 还不支持这个。已知问题。红蝉一直在看。

关于javascript - 使用 WebAudio API 访问音频接口(interface)的所有输入 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28414119/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com