[Q&A] UserMedia使用中に音声ファイルの再生音量が小さくなる現象について

541 views
Skip to first unread message

AIT Komukai

unread,
Aug 31, 2015, 12:04:52 AM8/31/15
to SkyWay Technical Forum
お世話になっております、小向です。

MediaConnectionのopen、closeイベント時にユーザーに対して通話の開始と終了をよりはっきり認識させようと思い、
audio要素を配置して効果音を鳴らしてみたのですがUserMedia使用中はその再生音量が小さくなってしまう(半減?)事に気づきました。

ちなみに、
Chromeの新しいタブを開いてYoutube動画を再生している最中にUserMediaを使用してもYoutube動画の音量が小さくなることも分かっています。
また、ブラウザでない音声プレイヤーアプリでmp3再生中にUserMediaを使用しても音量が小さくなっているので、
audio要素に限った話ではない?と考えています。

マイクを使用するなら他の音声出力を自動的に減らしてあげようという意図なのだろうと思いますが、
UX向上の為にSEを用いたい場合に問題になってしまいます。

この現象の原因や回避方法についてご存知でしたらご教授頂けると助かります。

どうぞ宜しくお願い致します。


AIT Komukai

unread,
Aug 31, 2015, 3:01:58 AM8/31/15
to SkyWay Technical Forum
小向です。

検証用ソースを貼り付けておきます。
お手数ですが音声ファイルはご用意をお願いします。
(私は「http://maoudamashii.jokersounds.com/」からテスト音源をDLしています)

検証1
 1、playAudioで音声を再生
 2、initUserMediaでマイクを許可
 3、音声のボリュームが小さくなる
 4、clearUserMediaでマイクをクリア
 5、音声のボリュームが大きくなる(元に戻る)

検証2
 1、initUserMediaでマイクを許可
 2、playAudioで音声再生
 3、小さいボリュームで音声が再生される
 4、clearUserMediaでマイクをクリア
 5、音声のボリュームが大きくなる(元に戻る)


音声の再生停止を随時切り替えても音声は小さいままになります。
お手数ですが、宜しくお願い致します。




<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
  
<!--[if lt IE 9]>
<![endif]-->
</head>
<body>

<div>
  <button type="button" class="btn btn-default btn-lg initUserMedia">initUserMedia</button>
  <button type="button" class="btn btn-default btn-lg clearUserMedia">clearUserMedia</button>
  <button type="button" class="btn btn-default btn-lg playAudio">playAudio</button>
  <button type="button" class="btn btn-default btn-lg stopAudio">stopAudio</button>
</div>

<div class="audioList">
  <audio class="simple" loop>
    <source src="game_maoudamashii_5_village10.ogg" type="audio/ogg">
  </audio>
</div>

<script>
navigator.getUserMedia  = navigator.getUserMedia ||
                          navigator.webkitGetUserMedia ||
                          navigator.mozGetUserMedia;
mediaStream = null;


// UserMediaの設定
function initUserMedia()
{
  console.log('initUserMedia:');
  navigator.getUserMedia({audio: true}, function(stream){
    console.log('    getUserMedia: stream');
    mediaStream    = stream;
  },
  function(error){
    console.log('    getUserMedia: error: ', error);
  });
}


// UserMediaのクリア
function clearUserMedia()
{
  console.log('clearUserMedia:');
  if (mediaStream)
  {
    mediaStream.stop();
    mediaStream = null;
  }
}


// 音声の再生
function simplePlay(audioSelector)
{
  console.log('simplePlay:');
  if ($(audioSelector).get(0).currentTime)
    $(audioSelector).get(0).currentTime = 0;
  
  $(audioSelector).get(0).play();
}


// 音声の停止
function simplePause(audioSelector)
{
  console.log('simplePause:');
  $(audioSelector).get(0).pause();
}


// ボタン操作
$(function(){
  $('.initUserMedia').on('click', function(){ initUserMedia() });
  $('.clearUserMedia').on('click', function(){ clearUserMedia() });
  $('.playAudio').on('click', function(){ simplePlay('.simple') });
  $('.stopAudio').on('click', function(){ simplePause('.simple') });
});

</script>
</body>
</html>






2015年8月31日月曜日 13時04分52秒 UTC+9 AIT Komukai:

Yusuke Naka

unread,
Aug 31, 2015, 4:38:11 AM8/31/15
to skyw...@googlegroups.com
小向様

仲です。
ご質問有難うございます。
ソースコードもわざわざ有難うございます。

当方でも再現出来ました。
再現条件ですが、Windows版Chromeだけそのような挙動になるようです。
Mac版ChromeやFirefoxでは再現しませんでした。

恐らく、Windows版Chrome固有の仕様じゃないかなと思います。
申し訳ありませんが、私も原因はよくわかりません。

こちらで質問してみると何らかの回答が返ってくるかもしれません。

もし何か情報をお持ちの方がいらっしゃいましたら、コメント頂けますと幸いです。


2015年8月31日 16:01 AIT Komukai <ai.tac...@gmail.com>:

--
このメールは Google グループのグループ「SkyWay Technical Forum」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには skywayjs+u...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/skywayjs/9866eef3-de5b-49e7-b788-1f7b31ccaf9d%40googlegroups.com にアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
仲 裕介(Yusuke NAKA)

AIT Komukai

unread,
Sep 1, 2015, 1:41:23 AM9/1/15
to SkyWay Technical Forum
仲様
ご返答ありがとうございます、小向です。

先にChromeのサポートへ問い合わせた所、以下の回答をいただきました。
--------
コントロールパネル → (ハードウェアとサウンド →) サウンド → 通信タブ
Windows が通信アクティビティを検出したときの設定を「80% 下げる」から「何もしない」へ変更
--------

Windows機が手元にないので確認はしておりませんが、
これが原因だと断定しても良さそうです。
ちなみにSkypeでも同様の現象があるようで対処法も一緒でした。

確認後に改めて報告させていただきます。
よろしくお願いいたします。


2015年8月31日月曜日 17時38分11秒 UTC+9 Yusuke NAKA:

Daisuke Takenaga

unread,
Sep 1, 2015, 6:38:21 AM9/1/15
to SkyWay Technical Forum
竹永です。

お役に立てる情報ではないと思いますが、
確認している情報として、Windowsの場合
音声の入力ボリュームに合わせてマイクボリュームが
勝手に上下する現象を確認しています。
手動で設定した値から変化します。
尚、これがOSの仕様なのか、Skype等のアプリまたは
ドライバ系による影響なのかはわかっていません。
Windows7、Windows8.1共に発生しています。
(こちらでもMacでそのようなことは起きない事を確認しています。)
また、アナログのヘッドセット、USBのヘッドセットの両方で発生しています。

知っている限りでは、
> コントロールパネル → (ハードウェアとサウンド →) サウンド → 通信タブ
> Windows が通信アクティビティを検出したときの設定を「80% 下げる」から「何もしない」へ変更
この件も以前試したことがありますが効果はありませんでした。
ただ、こちらで確認している現象はマイクボリュームが最大になることが多いと記憶しています。
お役に立てないまでも何かの情報になればと思い書き込みさせて頂きました。


2015年9月1日火曜日 14時41分23秒 UTC+9 AIT Komukai:

AIT Komukai

unread,
Sep 3, 2015, 9:39:16 PM9/3/15
to SkyWay Technical Forum
お世話になっております、小向です。
ようやく確認が出来ました。

> コントロールパネル → (ハードウェアとサウンド →) サウンド → 通信タブ
> Windows が通信アクティビティを検出したときの設定を「80% 下げる」から「何もしない」へ変更

結論として、この方法で解決できました。


竹永様
情報共有有難うございます。

今回のケースでは該当しませんでしたが以下の対処法も見つけました。
「マイクボリュームが最大になることが多い」との事ですのでこちらを試してみたら如何でしょうか?


どうぞ宜しくお願い致します。


2015年9月1日火曜日 19時38分21秒 UTC+9 Daisuke Takenaga:

Daisuke Takenaga

unread,
Sep 3, 2015, 9:58:54 PM9/3/15
to SkyWay Technical Forum
竹永です。
ご返信ありがとうございます。

お役に立てないとはわかりつつも、情報が少しでも
共有できればと思い投稿させていただきました。

また、逆に情報提供いただきありがとうございます。
> 「マイクボリュームが最大になることが多い」との事ですのでこちらを試してみたら如何でしょうか?
このあたりについては、このリンクでも触れられているように、
PCに搭載されているサウンドデバイス(Realtek等)、Driver、メーカー毎のアプリケーション
によっても設定できる内容が違うので何ともいえないんですよね。

> コントロールパネル → (ハードウェアとサウンド →) サウンド → 通信タブ
> Windows が通信アクティビティを検出したときの設定を「80% 下げる」から「何もしない」へ変更
こちらについては、これで対処できたとの事なので良かったです。
但し、補足しておきますとこの設定を行った状態でも、
こちらで発生しているマイクボリューム値が勝手に変化してしまう現象は
改善されない事を確認しています。


2015年9月4日金曜日 10時39分16秒 UTC+9 AIT Komukai:

AIT Komukai

unread,
Sep 3, 2015, 10:47:39 PM9/3/15
to SkyWay Technical Forum
竹永様
ご返答ありがとうございます、小向です。

環境依存への対応は中々に難しいですね。

補足の件ですが、
Skype等の音声入力系アプリの常駐・非常駐で違いは無いでしょうか?
あとブラウザの拡張機能等の影響も含めて。


2015年9月4日金曜日 10時58分54秒 UTC+9 Daisuke Takenaga:

Daisuke Takenaga

unread,
Sep 23, 2015, 7:14:08 AM9/23/15
to SkyWay Technical Forum
竹永です。

Skypeが影響していないかについては確かにこちらでも
気になりましたが、SkypeをインストールしていないWindowsでも
同様の状態になったことから関係ないと判断したのを記憶しています。
ブラウザの拡張機能に関しては特別調べていないため
こちらではわかっていません。
この辺はもし調べるのであればChromeのシークレットモードを
使用すれば調べることは可能だと思います。


2015年9月4日金曜日 11時47分39秒 UTC+9 AIT Komukai:
Reply all
Reply to author
Forward
0 new messages