つい先日「Ambient」の最新バージョン 1.1.0をリリースして、それに合わせてクラウド版デモサイトも公開してみた。
なお、クラウド版デモでローカルのホストコンピュータのメディアを再生するには、そのメディアファイルもサーバ側にアップロードしないとならず、メディアファイルの著作権やらサーバ側のストレージ容量等色々と問題が発生するので、今のところ無料素材のメディアファイルだけを数個配信しているのみだ。そのため、動作サンプル用のプレイリストからまともに再生できるのはYouTubeの動画だけとなっている。
クラウド版デモは下記のURLで公開しているので、「Ambient」がどんなものか是非触って見て欲しい。
バージョン 1.1.0で実装した機能
「Ambient」のバージョン 1.1.0で追加された機能は以下の通りだ。
- シャッフル再生
- 再生時の初期ボリューム設定
- プレイリストへのメディア追加
- シンボリックリンク作成機能(ローカルPCへのインストール時のみ有効)
- プレイリストのカテゴリー追加
- プレイリストのダウンロード機能
開発開始時に考えていた機能はほぼ実装できた感じだ。
バージョン 1.1.0でプレイリストのoptionsプロパティに設定可能になった設定値は下記の通りだ。
| プロパティ名 | 型 | 初期値(省略時) | 値の説明 |
|---|---|---|---|
| shuffle | boolean | false | シャッフル再生を実行するかどうか。ランダム再生と同時に使用可能。プレイリスト読み込み後、設定メニューから変更も可能 |
| volume | integer | 100 | 再生するメディアの初期音量。プレイリスト読み込み後、設定メニューから変更も可能 |
それでは、各追加機能について紹介していこうかと。
シャッフル再生
バージョン 1.0.0では「ランダム再生」しか実装していなかったが、これだと再生順が完全にランダムなため、運が悪いと同じメディアが連続で再生されてしまうことがあった。
一応同じメディアが連続で再生されない施策だけ入れていたのだが、それでもA→B→Aみたいな再生順になってしまうことがあり、「有線放送」的に垂れ流したいという私個人の期待値に応えられていなかったので、シャッフル再生を追加したのだ。
シャッフル再生ではプレイリストの全メディアの並び順を変更して、プレイリストの全メディアが再生され切るまでは再生されるメディアは重複しないようになっている。
再生時の初期ボリューム設定
プレイリストのメディアが再生される時のデフォルトの音量を設定できるようにした。
設定値は数値の0~100の範囲で、プレイリストのオプションにもvolumeプロパティで設定できる。
未定義の場合の初期値は100となる。
また、この音量は各メディアごとにも設定でき、単体メディアにvolumeプロパティが存在する場合はオプションの初期値よりもそちらが優先される。
ちなみに、これは次のバージョンで実装予定の「疑似フェーダー」機能の事前準備的な機能追加だったりする。
プレイリストへのメディア追加
「Ambient」で現在アクティブになっているプレイリストに対してYouTubeの動画やローカルPC上のメディアファイルを再生メディアとして追加する機能だ。
現在公開中のクラウド版デモではYouTubeの動画しか追加できないが、ローカルPCにインストールした場合は自分のコンピュータ上のメディアファイルが追加できるようになる。
この機能は下部メニューの右端のオプション・モーダルを開き、「メディア管理」から利用できる。

メディア追加のやり方は、次の通り。
- まず、追加するメディア種類を「YouTubeメディア(YouTube Media)」か「ローカルメディア(Local Media)」のどちかから選ぶ。
なお「ローカルメディア」は「Ambient」をローカルPCにインストールした場合のみ選択可能になるため、クラウド版デモ等、リモートWEB環境へインストールした場合は利用できない。 - 次にプレイリストに追加するメディアの所在情報を入力する。「YouTubeメディア」であればYouTube動画のURLをそのままコピペすればOkだ。
「ローカルメディア」の場合は「Ambient」のインストールディレクトリ下のassets/media/フォルダ内に存在しているメディアファイルを指定することになる。これ以外の場所にあるメディアファイルは読み込めないので、その場合は後述する「シンボリックリンク作成」にてメディアファイルが格納されているフォルダのシンボリックリンクをassets/media/フォルダ内に作成してからこの操作を行うことになる。 - 追加するメディアが所属するプレイリストのカテゴリー(Category)を選ぶ。
もし新たなカテゴリーに追加したい場合は、後述する「プレイリストのカテゴリー追加」を実行後にこの操作を行うこと。 - 追加するメディアのタイトル名(Title)を入力する。「ローカルメディア」の場合、メディアファイル名が初期値としてサジェストされるが、「YouTubeメディア」の場合は初期値のサジェストはないので注意。
- その他の項目は必要に応じて入力する。
- 必須項目が埋まり、登録準備が完了すると「メディアを追加する(Add New Media)」ボタンが有効になるので、サブミットすれば完了だ。
シンボリックリンク作成機能
「Ambient」のインストールディレクトリ下にあるassets/media/フォルダの下に、ローカルPC等のホストコンピュータ内のメディアが格納されているフォルダのシンボリックリンクを作成する機能だ。
シンボリックリンクを作成することで、今までのメディアファイルの移動やコピーを行うことなく「Ambient」から再生メディアを参照できるようになる。
ローカルPCのメディアファイルを、前述の「プレイリストへのメディア追加」機能を使ってプレイリストに追加する時は、事前にこのシンボリックリンクを作成しておくのが最良である。
この機能は下部メニューの右端のオプション・モーダルを開き、「プレイリスト管理」から利用できる。

シンボリックリンク作成のやり方は、次の通り。
- ローカルPC上のメディアファイルが格納されているフルパスを(「Local Media Folder Path」欄に)入力する。
- 作成したいシンボリックリンク名(Symbolic Link Name)を入力する。
- 必須項目が埋まり、作成準備が完了すると「シンボリックリンク作成(Create Symbolic Link)」ボタンが有効になるので、サブミットすれば完了だ。
なお、この機能は「Ambient」をローカルPCにインストールした時しか使えないので注意が必要だ。
プレイリストのカテゴリー追加
「Ambient」で現在アクティブになっているプレイリストに新たなカテゴリーを追加する機能だ。
この機能は下部メニューの右端のオプション・モーダルを開き、「プレイリスト管理」から利用できる。

カテゴリー追加のやり方は、次の通り。
- 追加したいカテゴリー名(Category Name)を入力する。
既に同じカテゴリー名がプレイリスト中に存在する場合は、自動で枝番が付与される。 - 有効なカテゴリー名が指定されると「カテゴリー追加(Add Category)」ボタンが有効になるので、サブミットすれば完了だ。
プレイリストのダウンロード機能
「Ambient」で現在アクティブになっているプレイリストをJSONファイルとしてダウンロードする機能だ。
追加したメディアやカテゴリーが反映された最新のプレイリストデータとしてダウンロードできる。
ダウンロードしたプレイリストは「Ambient」のインストールディレクトリ下のassets/フォルダに設置することで利用できるようになる。
この機能は下部メニューの右端のオプション・モーダルを開き、「プレイリスト管理」から利用できる。

プレイリストのダウンロードのやり方は、次の通り。
- オプションのチェックボックスでJSONデータに含まれるメディアデータのシーク時間(
startやendの時間設定)を「整数の秒数」もしくは「H:MM:SS形式」にするかを選ぶ。 - 後は「プレイリストダウンロード(Download Playlist)」ボタンをサブミットするだけだ。
プレイリストがアクティブになっていない状態では、ダウンロードできないので注意。
今後の予定
現在バージョン 1.2.0用の開発を行っているが、次バージョンでは下記の対応を行う予定だ。
- 疑似フェーダーの追加(再生メディアに対して音量のフェードイン/フェードアウトを実行できる機能)
- 多言語対応(UIの言語切り替え機能)
次のバージョンで私が欲しいと思っていた機能は一通り揃うので、そこで一段落って感じになりそうだが、Flutterでリファクタリングしてアプリ版を作ってみようかなぁ……。