2020年3月13日金曜日

複数音源の連続再生


「0円でできる定時放送の自動化(2)放送小僧編」でタスクスケジューラとフリーソフトの放送小僧を用いて、定時に一つのファイルを放送をすることができるようになりました。
それでは定時の音声放送の前に「お知らせのチャイム」を鳴らしたい場合はどうしたらよいのでしょうか。一つの方法としては、最初にチャイムを鳴らすタスクを実行し、チャイムが終わる時間を見積もって次に音声を再生するタスクを実行することが考えられます。しかしチャイムの演奏時間を計算して次のタスクを設定するのは面倒なことです。ここでは1つのタスクで複数の音源ファイルを連続再生する方法を考えてみます。
例えば毎朝8:00にチャイムを鳴らし、続けて「おはようございます」と再生する場合を考えます。

個別に音源を再生する方法

最初にチャイムを鳴らすタスクを実行し、次にチャイムが終わる時間を見計らって音声を再生するタスクを実行することでチャイムと音声の連続再生は実行できます。
タスクスケジューラに次の2つのタスクを登録します。
  1. 8:00:00 チャイムファイルを指定して放送小僧を起動してチャイムを鳴らすタスク
  2. 8:00:10 音声ファイルを指定して放送小僧をを起動して「おはようございます」と再生するタスク
ここではチャイムの再生時間を余裕を持たせて10秒と見積もっています。
このように時間をおいて順番にタスクを実行すればチャイムの後に「おはようございます」と再生させることは可能です。
ただし、各タスクの開始時間の設定が再生時間やプログラムの起動と終了時間を考慮して決める必要があり簡単ではありません。

プレイリストを使う方法

上記の方法ではチャイムを鳴らしてから次に音声を再生するタイミングが難しく、うまく調整しなければチャイムと音声が別々のものになってしまいます。
そこでチャイムと音声をスムーズに連続して再生する方法はないかを考えてみます。実は放送小僧は Windows Media Player を利用しているのでプレイリストを再生する機能が利用できます。
Media Player のプレイリストとは複数の音源ファイルをリスト化したファイルです。Media Playerで音源ファイルの代わりにプレイリストを開くと、プレイリスト中の音源リストを順番に再生します。放送小僧でもこの機能を利用することができます。
プレイリストにチャイムファイルと音声ファイルを順に記述し、このプレイリストを放送小僧に指定すればチャイムが鳴り、その後に音声を再生できるようになります。

プレイリストの作り方

Windows Media Playerのプレイリストは拡張子が「.m3u」のテキストファイルです。メモ帳で簡単に作ることができます。
プレイリストの記述は音源ファイルのパスを順次記述するだけです。
例えば私のMusicフォルダにあるチャイムファイル(chime.mp3)と音声ファイル(こんにちは.mp3)をプレイリストにするには
メモ帳を開き
C:\Users\eternalsound\Music\chime.mp3
C:\Users\eternalsound\Music\こんにちは.mp3
と記述し名前を付けて保存します。
このとき文字コードは ANSIを選び、拡張子は.m3uとして下さい。
なお、放送小僧にはテキストファイルを再生できる機能がありますが、プレイリストの中には記述できません。テキスト再生はWindows Media Playerとは別の機能を用いているからです。

タスクスケジューラの設定

タスクスケジューラーの設定は、音声を連続再生するプレイリストを引数とし、指定時間に放送小僧を起動するすタスクを設定するだけです。
  1. 8:00:00 チャイムと音声を連続再生するプレイリストを指定して放送小僧を起動するすタスク

0 件のコメント:

コメントを投稿