質問: { video: false, audio: { optional: [{ sourceId: //ここにオーディオインターフェースのID// }] } }; navigator.mediaDevices.getUserMedia(constraints) .then(function(stream) { //以下、省略 ``` ### 試したこと オーディオインターフェースに付属のデジタルミキサーソフトはASIOドライバーと紐付いているので3ch以上取れています。 おそらく、getUserMedia()にはWindowsデフォルトのオーディオドライバーが紐付いているため、2chまでしか取得できないのではと想像しています。 ちなみにmacのデフォルトのオーディオドライバーはUSB AUDIO CLASS 2.0なので複数音声取れるかなと試してみましたがやはりgetUserMedia()で2chまでしか取れませんでした。 これがなぜなのかもわかりません。 想像ですが、getUserMedia()でWindowsやmacのデフォルトのオーディオドライバーからでなく ASIOドライバーから音声が取得できれば3ch以上の音声が取得できるのかなと思っています。 --- 何かご存知の方いらっしゃいましたら教えてください。 よろしくお願い致します!
回答: 試してみたことがないので解決方法として参考になるかわからないですが、、、 1,ブラウザで取得しているデフォルトのインターフェースが内部インターフェースでなく、外部であるかを確認し、もしそうでなければ外部インターフェースから音声ソースを取得するように設定を変更する 2,ASIOのドライバーを利用して3ch対応アプリケーションをCppで作ったことがありました。なのでもしかしたらドライバーを使ったらうまい事裏でごにょごにょしてくれるかも? JSだったらこれとかどうでしょうか?(node.jsですが) https://github.com/distopik/node-audio-asio 参考になればうれしいです。