リアルタイムでは聴けないコミュニティFMは「らじれこ」で予約録音して聴くことにしているのだが、JCBAインターネットサイマルラジオの仕様が変わって、一時的に SKYWAVE FM などが録音できない状態になって、「らじれこ」が仕様変更に対応してくれたことで録音できるようになった。
(修正)JCBA系コミュニティFMの仕様変更に対応しました(※)
らじれこWin版 1.9.16リリース(2022/4/13)
ところが、眠っている間に録音してもらうはずだった SKYWAVE FM の番組で録音に失敗することが2度起こった。通常は失敗しないので、失敗した日のPCの環境に問題があるのだと思った。
症状は次の通り。
録音終了の通知がWindowsにもらじれこ にも無い。
らじれこ のライブラリに録音予約した番組が無い。
Windows の通知領域にらじれこ の録音中アイコンが残ってる。
録音した番組のファイルが保存されるRADIOフォルダにファイルが無く空のフォルダだけがある。
再現が難しくて諦めていたのだけど、私以外にもJCBAインターネットサイマルラジオでの録音で同じ症状の人がいたことと、CSRAの方の予約録音で途中から録音されるトラブルが発生したことで、WiFi接続の問題で再現できるのではないかと推測した。
そこで、WiFiを切断して SKYWAVE FM を5分間だけ録音予約してみたら、私のPCで起こった予約録音失敗が再現した。また、10分間の録音予約で最初はWiFiを切断して3分後に接続しても、やはり私のPCで起こった予約録音失敗が再現した。 CSRAのFM戸塚の方はWiFiが切断された状態で予約録音を開始して10分以上過ぎてからWiFiを接続したら接続した時から録音が始まって、FM戸塚の予約録音で起こった冒頭の音声が録音されなかった状態が再現できた。また、10分間だけの録音予約で終了時刻までWiFiを切断していた場合は SKYWAVE FM と似た次のような症状で予約録音に失敗した。
録音終了の通知がWindowsにもらじれこ にも無い。
らじれこ のライブラリに録音予約した番組が無い。
Windows の通知領域にらじれこ の録音中アイコンが残ってる。
録音した番組のファイルが保存されるRADIOフォルダに7.5MBの.m4aファイルが残った。(通知領域の録音中アイコンをタスクマネージャーで強制終了するまでは0バイトだったと思う)
以上の実験結果から、SKYWAVE FM の予約録音に失敗したのは、録音開始時刻にWiFiが切断されていた状態だったことが原因と推測できる。CSRAの方なら、WiFiが接続されたら録音が始まって正常に終了するけれど、JCBAの方は途中でWiFiに接続しても録音は始まらず、正常に終了することもない。 ちなみに、タスクスケジューラと録音中のタスクマネージャーで確認したところ、らじれこ の予約録音は、タスクスケジューラで WakeUp.exe が起動してスリープを解除して10秒で終了し、続いて、同じくタスクスケジューラで RadioRecorderLauncher.exe が録音時刻などのオプション付きで起動して、それが RadioRecorder.exe を起動して録音させるらしく、RadioRecorderLauncher.exe はタスクスケジューラで録音予約の終了時刻の少し後に自動的に終了するのだけど、RadioRecorder.exe は録音が正常に終了しないと終了せずにアイコンが Windows の通知領域に残ってしまうらしい。すなわち、通知領域に残っていたアイコンは RadioRecorder.exe のもので、タスクスケジューラでは制御してないので、タスクスケジューラの方は予約録音に成功しても失敗しても同じ状態になる。
とにかく、私のPCで予約録音失敗はスリープ解除後に録音が開始するまでの間にWiFi接続が再開してなかったことが原因と推測できたので、タスクスケジューラを使って、らじれこ での予約録音開始時刻の5分前にスリープを解除しておく ことにした。スリープ解除直後にブラウザを起動したらネットに接続できなかったトラブルは何度もあるので、たぶん、私の推測は正しく、対処法も妥当だろう。
追記(2022/6/4)
残念ながら、「タスクスケジューラを使って、らじれこ での予約録音開始時刻の5分前にスリープを解除しておく 」対処法は失敗した。
「スリープ解除後に録音が開始するまでの間にWiFi接続が再開してなかったことが原因」という推測は妥当だったと思うのだが、対処法は妥当ではなかったかもしれない。
私が予約録音に失敗したケースの共通点は23:00からの録音だったので、23:00に何が起こっているのか想像したら、Windows Updateのことを思い出した。私のPCはWindows Updateのチェックが始まるとハードディスクのアクセスランプが点灯しっぱなしになって、アプリの起動に時間がかかったり、文字入力さえできなくなることがある。更新プログラムのダウンロードが始まったらWiFiだって混む。だから、Windows Updateは私がPCを使ってない時刻に行ってほしいが、シャットダウン中は無理なので起動中で私の邪魔にならない時刻にチェックしてほしい。そんな時刻を設定で変更できる。
アクティブ時間を使用すると、自分が普段 PC を使用する時間を Windows に知らせることができます。 この情報は、PC を使用していない時間に更新や再起動をスケジュールする ために使用されます。 Windows 10 でアクティブ時間を設定する方法は 2 つあります。
PC から離れた場所で、アクティブな時間に更新プログラムを取得Windows
Windows Updateの設定でアクティブ時間は「現在は5:00から23:00まで」となっていて、「最終チェック日時」が「昨日、22:57」になっていた。昨日(2022/6/3)の23:00からの録音のために22:55にスリープを解除した直後にWindows Updateのチェックが行われていたらしい。このチェックが RadioRecorder.exe の邪魔をして SKYWAVE FM のサイマル放送を取得できなかったのかもしれない。 そこで、アクティブ時間を「8:00から2:00まで」に変更しておいた。これで23:00~0:00の録音も0:00~1:00までの録音も邪魔しないだろうし、らじれこ には6:00~7:00の録音予約もあるが、この時間は起きているので気付くだろうし、8:00~8:30の録音予約もあるが、アクティブ時間に再起動しなければいけなくなる時刻にWindows Updateのチェックは始まらないだろう。それに、Windows Updateのチェックは私がPCを起動する朝の4:50に行われるようになると思うので、たぶん大丈夫だろう。
2022/6/4の Windows Update 設定ウインドウ
残念ながら、設定変更後の2022/6/6の朝、確認したら「最終チェック日時」は「昨日、22:56」だった。6/5は22:10頃にPCをスリープし、22:55にスリープを解除した。その前日の6/4は22:10頃にPCをシャットダウンして、6/5の4:50~5:00に起動したら「最終チェック日時」は「今日、5:01」だった。
追記(2022/6/13)
Windows Update を毎日21:30に無効にして、毎朝5:00に有効にするようにした。
Windows Updateサービスのスタートアップを無効に切り替えるバッチファイル(DisableWindowsUpdate.cmd )は次の通り。
@echo off
net stop wuauserv
sc config wuauserv start= disabled > nul
echo #######################################
echo Windows Update サービスを無効にしました
echo #######################################
timeout 5
Windows Updateサービスのスタートアップを既定の設定に戻すバッチファイル(EnableWindowsUpdate.cmd )は次の通り。
@echo off
sc config wuauserv start= demand > nul
echo #######################################
echo Windows Update サービスを有効にしました
echo #######################################
timeout 5
Windows Updateサービスを無効化したことを忘れてしまうと、更新されない状態が続いてしまい、よろしくありません。有効化するのを忘れても大丈夫なように、タスクスケジューラに「EnableWindowsUpdate.cmd」のタスクを作成し、システム起動時などに最上位の特権で実行するように設定しておくとよいでしょう。これで、Windows Updateサービスを無効化しても、次回起動時に自動で設定を元に戻すことができます
Windows 10のWindows Updateサービスを停止しようと考えている方へ:山市良のうぃんどうず日記(82)(1/2 ページ) – @IT
タスクスケジューラで、毎日21:30に DisableWindowsUpdate.cmd を最上位の特権で実行し、毎朝5:00に EnableWindowsUpdate.cmd を最上位の特権で実行するように設定した。PCがスリープの状態だったらスリープを解除して実行するようにした。
追記(2022/6/18)
残念ながら、「タスクスケジューラを使って、Windows Update を無効にしておく 」対処法は失敗した。
タスクスケジューラでWindows Update を毎日21:30に無効にして、毎朝5:00に有効にするようにしていたが、そのタスクを2022/6/18から無効にした。
コメント