Skip to content

mganeko/chrome_audio_mix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chrome Audio Mix

アイコン

navigator.mediaDevices.getUserMedia()をフックし、マイクの音に音声ファイルをミックスするChrome Extensionです。

Chrome extention for mixing microphone and audo file sound, using hook of navigator.mediaDevices.getUserMedia()

Reference / 参考にしたもの

リポジトリ

使い方

インストール

  • リポジトリをダウンロード or クローン
  • 必要に応じて、manifest.jsonを編集する
    • content_scripts, permissions のセクションを編集し、使いたいサイトを追加する
    • 同様に、使いたくないサイトを除外する
  • Chrome の [その他のツール]-[拡張機能] の設定ページを開く
  • 「デベロッパーモード」を有効にする
  • ダウンロードしたリポジトリのフォルダーを選択し、読み込む
  • 拡張機能のページで、読み込んだ「Chrome Audio Mix」が表示、有効なのを確認

実行

  • 対象サイトをChromeで開く(現在の対象は次の通り)
  • 拡張機能が読み込まれる
    • mediaDevices.getUserMedia() をフックする
  • 左上に小さなパネルが表示される
    • [+]ボタン ... クリックすると、パネルの中身を表示
    • [-]ボタン ... クリックすると、パネルを最小化
    • [_]ボタン ... クリックすると、パネルが左下に移動
    • [^]ボタン ... クリックすると、パネルが左上に移動
  • [+]ボタンをクリックして、パネルの中身を表示後に操作
    • Audio File ... ミックスする音声ファイルを選択
      • [clear]ボタン ... ファイル選択をクリア(再生を停止)
    • Audio Gain ... 再生する音量を調整デバイス
      • [Playback] ... チェックすると、音声をモニター再生
    • Balance: Device(マイク) ←→ Audio File(音声ファイル)のバランスを調整
  • 対象サイトで、カメラ映像/マイク音声の取得を開始、通信を開始
    • mediaDevices.getUserMedia()が呼び出されると、フックした処理が動き、マイクと音声がミックスされる
  • ※音声ファイルが選択されていない場合は、フックではなく元のgetUserMedia()を呼び出す

パネルの中身を表示したところ パネルの画像

注意点

  • 対象サイトがロードと同時にカメラ/マイクを取得する場合 (mediaDevices.getUserMedia()を呼び出す場合)、フックが有効にならず本来のデバイスのカメラ映像/マイク音声が取得される
    • そのページをリロードせずに再度カメラ/マイクの取得を行うと、フックが有効になる
  • Google Meet もロードと同時にカメラ/マイクを取得するので、これに該当する
    • パネルで音声ファイルを選択後、マイクを切り替えるとマイクが再取得されるため、フックが有効になる -「その他のオプション」-「設定」でダイアログを表示
    • ダイアログで「音声」を選択後、マイクを切り替えて、また戻す

LICENSE / ライセンス

  • MIT LICENSE / MITライセンス

About

audio mix extension

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published