簡體   English   中英

如何使用 Javascript 獲取麥克風/輸入設備的采樣率?

[英]How to get the sample rate of a microphone/input device using Javascript?

當您創建一個新的AudioContext時,它會將采樣率設置為默認的output設備。 這是預期的默認行為。 有誰知道Javascript有沒有辦法得到輸入設備的采樣率?

我們可以在AudioContext的文檔中看到它是關於sampleRate

該值通常介於 8,000 Hz 和 96,000 Hz 之間; 默認值會因 output 設備而異,但最常見的采樣率為 44,100 Hz。 如果選項中未包含 sampleRate 屬性,或者在創建音頻上下文時未指定選項,則默認使用新上下文的 output 設備的首選采樣率。

我如何使用它的示例:

const stream = await navigator.mediaDevices.getUserMedia({audio: true, video: false});
const context = new AudioContext();
context.sampleRate // This is the default output device's sample rate. I need the default input sampleRate

我一直在搜索文檔和 inte.net 以尋找執行此操作的方法,但沒有找到任何有用的東西。 感謝任何幫助。

您可以像這樣在sampleRate中獲取音軌的采樣率:

const sampleRate = stream.getAudioTracks()[0].getSettings().sampleRate;

然后您可以使用它來創建AudioContext

const context = new AudioContext({ sampleRate });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM