shadowplayでVCの音声を録音せず、ゲームが終わったらスピーカーから音を出すための変更手順



参考にした記事
1 ShadowPlayで録画するときにボイスチャットの音声を録音しない方法
2 Windows でサウンドの再生デバイスを切り替えるためのスクリプト(バッチ処理)

VC(ボイスチャット)を録音しない

ゲーム動画をshadowplayで録画した際にVC(ボイスチャット)を利用していると、そのままVCの音声が動画に録音されてしまいます。

動画化する事の了解をとってVCするなら問題ないと思いますが、都度了解を取ってゲームするのも大変ですので、VCの音声が動画にのらないように設定を行いました。


方法としては参考にした記事1の通りです。

ただこのままだとUSBヘッドセットで常にPCの音を聞くことになり、スピーカーから音が出ません。

スピーカーから音を出すように切り替えるは設定変更をする必要があり、ゲームが終わるたびに切り替えるのは非常に面倒です。

そこで記事2を組み合わせ、ゲーム中はヘッドセットを使用し音を聞き、普段はスピーカーから音を出すようにBatファイルを書くことで、切り替え作業を最小限にするようにしました。

手順1.サウンドの設定変更

VB-CABLEをダウン―ドし、インストール。

サウンド設定を開き、「再生」 タブを開く。
「CABLE Input」 を選択して、「規定値に設定」をクリック。


次に「録音」タブを開く。
「CABLE Output」 を選択して、「規定値に設定」をクリックし、プロパティをクリック。

CABLE Outputのプロパティが開いたら「聴く」 のタブを開く。
「このデバイスを聴く」にチェックを入れ、ヘッドセットのデバイスを選択する。

手順2.shadowplayの設定変更

CTRL+ALT+Zでshadowplayの設定を開き、設定から「オーディオ」をクリック。


マイクのソースをCABLE Outputに設定し、ボリュームを0%に設定する。


手順3.VCツールの設定変更

Discordのユーザー設定>アプリの設定>音声・ビデオの項目で、入力デバイスと出力デバイスがヘッドセットになっていることを確認する。








ヘッドセットとスピーカーの切り替えをバッチ化

次に記事2の通り、サウンドの設定切り替えをバッチ化します。

手順1バッチファイルの作成


テキストエディタに以下コピーする。
 
var wait = function(title){
    do {
 WScript.Sleep(100);
    } while(!WshShell.AppActivate(title));
};

var WshShell =  WScript.CreateObject("WScript.Shell");
WshShell.Run("control mmsys.cpl");
wait("サウンド")
WshShell.SendKeys("{DOWN " + 
 WScript.Arguments.item(0) +
 "}%{s}{TAB 3}{ENTER}");

Cドライブ直下にファイル名「changeSoundDevice.js」としてShift_JISで保存。
ファイルを右クリックしてショートカットを2つ作成する。

手順2.ショートカットの編集


サウンドの設定の「再生」のタブを開く。
「CABLE Input」が上から何番目にあるか確認する。

下記画像では8番目に設定されている。


次に普段音楽を聴くデバイスが上から何番目にあるか確認する。
私の環境では7番目に設定されていた。


次に手順1で作成したショートカットのファイル名をわかりやすい形に変更する。
例 ヘッドセット利用、スピーカー利用

ヘッドセット利用のショートカットを右クリックしプロパティを開き、リンク先を以下のように設定する。

C:\Windows\System32\wscript.exe C:\changeSoundDevice.js 8

同様にスピーカー利用のショートカットのプロパティを編集する。

C:\Windows\System32\wscript.exe C:\changeSoundDevice.js 6


このショートカットを開くことで、既定のデバイスを変更する事が出来る

これによりヘッドセットとスピーカー、どちらで音を鳴らすのかをクリック一発で切り替えることができます。









■関連記事

0 件のコメント :

コメントを投稿