2013-02-07 14 views
9

ここに問題があります。Webページからオーディオの出力デバイスを選択する方法はありますか?

私はビルド中のWebアプリケーションに音声通知とビデオ会議オプションがあるので、通常はユーザーはスピーカーとヘッドセットをPCに接続しています。私のクライアントは音声通知メインスピーカーで再生され、ビデオ会議はヘッドセットを使用して行うことができます。

今私はビデオ会議のためにオーディオとwebrtcのためにすべてのhtml5を使用しています、私はこれを行う方法についての情報を見つけることができませんでした。フラッシュ付きかもしれませんが、これも見つかりません。

おかげで、事前にこの空間に

+4

ブラウザはオーディオデバイスを認識していません。それらはOSレベルで制御されます。 –

+0

もし彼らがあなたをさえすればいいだろう。私は複数のサウンド出力を使用し、ブラウザーで醜いプラグインに頼らなくても、それを何らかの形でコントロールしたいと思っています。 – cambraca

+2

[Web Audio API](https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html)を確認するとよいでしょう。私はあなたがオーディオのコンテキストの宛先を変更することができますか分からないが、それは道のりかもしれない。 – jpatiaga

答えて

7

ソリューションのWebRTCの使用を経由して浮上しています。 https://webrtc.github.io/samples/src/content/devices/input-output/

これはブラウザのサポートが今でも制限されています。

+0

これを行うアプリが既にあります。 https://chrome.google.com/webstore/detail/audiopick/gfhcppdamigjkficnjnhmnljljhagahaをご覧ください。 – Joniale

0

実際に出力されるのは、Oslevelのみです。まだ実験レベルのchrome.audio APIについて読む必要があるかもしれません... "chrome.audio APIは、ユーザーが情報を取得できるように提供されています。このAPIは現在のところ、Chrome OS用にのみ実装されています。

このAPIを使用してサウンドをリダイレクトできるように、これはすべてのOSで利用可能だった場合に役立ちます... このAPIのいくつかのメソッドは次のとおりです。

getInfo − chrome.audio.getInfo(function callback) 

which retuすべてのオーディオ出力と入力デバイス

setActiveDevices − chrome.audio.setActiveDevices(array of string ids, function callback) 

| ids |で指定されたデバイスにアクティブデバイスを設定します。

問題がChrome.audio APIであるが、唯一のChromeOSのためのもので、出力は他のOSで制御される聞こえる...それは、2本の平行線それだ...

1

単にあなたのjavascriptのコードでこれを行います。

audioElement.setSinkId(deviceId); 
0

AudioPickと呼ばれるHTML5オーディオデバイスリダイレクタChrome拡張機能が用意されました。このウェブサイトはここにあります:https://rain-fighters.github.io/AudioPick/

これはGNU公開ライセンスでOpenSourceで、Github repoです。

ホームページに示されているように、いくつかの制限があります(FlashソースもHTML5ソースもありません)。

関連する問題