- 09 Jul 2024
- 1 読む分
- 印刷する
変数
- 更新日 09 Jul 2024
- 1 読む分
- 印刷する
変数には、名前、値、および型があります。
変数の名前にはスペースを含めてはならず、256 文字未満にする必要があります。ほとんどのアプリケーションがスペースと長い名前の両方を処理する場合でも。
値は常に文字列です。また、他に選択されていない場合、タイプはデフォルトのtext/plainです。
値は Unicode であり、特定の長さに制限されません。
ムービー変数
コンポーザーでは、異なるタイプの変数をムービーに追加することができます。これらの変数は、このムービーの再生時に再生に使用できます。これらの変数のスコープは Local (Dise Movie Context) です。
変数に接続されているすべてのファイル(画像、ビデオ、バイナリ)は依存関係としてアップロードされ、データ接続として、またはスクリプトを介してアクセスできます。
テンプレートフィールド
ムービー内の変数をテンプレートフィールドに昇格させると、Composer はそれらをポータルにアップロードし、変数をテンプレートフィールドとして追加できます。
すべてのタイプをテンプレート フィールドとして使用できるわけではなく、ポータルは、ファイルに接続されているタイプを、そうでないタイプとは異なる方法で処理します。
テンプレートとテンプレートフィールドは、ポータルで メッセージとメッセージフィールド に変換され、プレイリストでプレーヤーに公開されます。
テンプレート vs メッセージ
テンプレートは、テンプレートフィールドとしてマークされた 1 つ以上の変数を持つ Dise ムービーをポータルにアップロードするときに、Composer によって作成されます。
各テンプレートフィールドには、次のプロパティがあります
- 名前
- タイプ(下記参照)
- 値(空でもかまいませんが、通常は読み取り専用です)
- 必須
メッセージはポータルによって作成され、テンプレートに接続されます。テンプレートフィールドに対応するフィールドがあります。
ただし、メッセージの作成後にテンプレートが変更された場合は、2 つの間に違いが生じる可能性があります (フィールドの変更、削除、追加など)。
メッセージはプレイリストに追加できます。
メッセージには、次のプロパティがあります
- 名前
- 種類
- 価値
パブリッシングと再生
メッセージは、そのメッセージが添付されているプレイリストに公開されます(複数のプレイリストに添付できます)。プレーヤーは、メッセージフィールドの名前、タイプ、値を取得します。テンプレートフィールドの値はプレーヤーに送信されません。
Player がメッセージ フィールドを受け取ると、そのフィールドをムービーの変数に入れ、ムービー用に作成された変数を (名前で) 置き換えます (上記参照)。
種類
オブジェクトの位置(相対)
メディアタイプ
application/x-ds-object-position-relative(アプリケーション/x-ds-オブジェクト位置相対)
データ
セミコロンで区切られたピクセル位置 x;y
オブジェクトが作成された位置を基準にしています。
例
"0;0" (変更なし)
「1000:0」(x 軸に +1000 ピクセル)
「0:1000」( Y 軸に +1000 ピクセル)
「0:-1000」(y軸-1000ピクセル)
オブジェクトの色
オブジェクトの色 (テキスト、図形、ティッカーなど) を持つオブジェクトのみ
メディアタイプ
application/x-ds-object-color
データ
16進数「#RRGGBB」の色値
例
「FF0000」(レッド)
オブジェクトの表示
メディアタイプ
application/x-ds-object-visible
データ
"true" om オブジェクトを表示する必要があり、表示しない場合は false です。
例
"true" (ショー)
"false" (表示しない)
画像ファイル
メディアタイプ
画像/*
データ
ファイル名 (フルパスまたは相対パス) またはファイルのハッシュ。
例
"C:\DiseContent\image.jpg"
"0206205f41452687c772749b28f0bbabbaf9893c"
ビデオファイル
メディアタイプ
ビデオ/*
データ
ファイル名 (フルパスまたは相対パス) またはファイルのハッシュ。
例
"C:\DiseContent\video.mp4"
「03EA55D42903C041B1FF64C2BD593FB7B9D3A843」
バイナリファイル
メディアタイプ
アプリケーション/オクテットストリーム
データ
ファイル名 (フルパスまたは相対パス) またはファイルのハッシュ。
例
"C:\DiseContent\info.json"
「f39d30498126f724d70107c737f023c5de071e8e」
テキスト
メディアタイプ
オブジェクト内のテキスト(テキスト、段落、Webページなど)を含むオブジェクトのみ
データ
テキストの文字列
例
「これは私の分野の私のテキストです」
「https://dise.com」
オブジェクトアルファ
メディアタイプ
オブジェクトのアルファ レベル
データ
アルファレベルのパーセンテージ(0,20 = 30%)
例
(0,20)
"0,50"
変数の使用
変数は、これらのメソッドを使用して読み取ったり作成したりできます。
メッセージフィールド [Composer、Premium Player、Lite Player、CX Portal]
プレーヤーで再生されているテンプレートにメッセージが接続されている場合、すべてのメッセージ フィールドが変数としてムービーに追加され、ここにリストされている他のすべてのメソッドからアクセスできるようになります。
スクリプト [作曲家、プレミアムプレイヤー]
variabel = DISEScript.GetVariable("name")
variabel = DISEScript.GetVariable("local", "name")
variabel = DISEScript.GetVariable("global", "name")
DISEScript.SetVariable("name", "value")
DISEScript.SetVariable("local", "name", "value")
DISEScript.SetVariable("global" "name", "value")
スコープがないと、変数は最初にローカルスコープで検出され、次にグローバルスコープで検出されます。
Connect プロパティ [Composer]
Composerでは、変数をオブジェクトのプロパティ(画像、ビデオ、テキストなど)に接続できます。これは、上記のすべてのタイプ(位置、色、表示)で機能します。
スコープ: 最初にローカル スコープ、次にグローバル スコープ。
データ接続 [Composer]
「Connect Property」で使用されますが、ほとんどのオブジェクトでテキストやファイル名を変更するためにも使用できます。
スコープ: 最初にローカル スコープ、次にグローバル スコープ。
プレイヤーカスタム設定 VAR-x [プレミアムプレイヤー、ライトプレイヤー、ポータル]
ポータルのプレイヤーまたはプレイヤーグループに追加されました。
HTTP API [プレミアムプレーヤー]
範囲:グローバル
変数エディター [プレミアムプレイヤー]
範囲:グローバル
どう:
- Premium では、F5 キーを押して [ デバッグ] > [変数エディター] を選択します (デバッグをオンにする必要があります。
- Composer で、[ファイル] > [デバッグ] > [グローバル変数] を選択します。
- 次に、[ 追加 ] を選択して追加するか、既に作成されている変数をダブルクリックして編集します。
再生モニター [プレミアムプレーヤー]
ビューのみ
範囲: 映画のコンテキスト
Webページ/ウィジェット[ライトプレーヤー]
ウェブページをプレイリストに追加してライトプレーヤーで再生すると、プレーヤー上の変数はクエリパラメータとしてURLの末尾に自動的に追加されます。
スコープ
変数は、グローバルにすることも、Dise Movie Context (Local) に接続することもできます
グローバル変数はアプリケーションを介してのみ使用できるため、デフォルトでは、コントロールセンターと再生の間、またはポータルとコントロールセンターの間で共有されません。
「VariableDefaultScope」という設定があり、何も指定されていないときにプレイヤーにローカル変数を強制的にチェックさせる「local」に設定したり、何も指定されていないときにローカル変数を無視したい場合は「global」に設定することもできます(後方互換性)。
変数を設定する
- ポータルから
- 方法: プレイヤー/グループに対して、Var-X などと呼ばれるカスタム設定 (文字列) を作成します。これにより、プレーヤーに「X」と呼ばれる変数が設定されます。
- 範囲:グローバル
- スクリプトから
- 方法: スクリプトで、次のコマンドを実行します。
- DISEScript.SetVariable("名前", u"BOB")
- DISEScript.SetVariable("グローバル", "名前", u"BOB")
- DISEScript.SetVariable("ローカル", "名前", u"BOB")
- 方法: スクリプトで、次のコマンドを実行します。
ニシキヘビ
スコープ:
- 変数とスクリプトが定義されているDise Moviesは、他に何も指定されていない場合に定義されています。
- バックグラウンドスクリプトのグローバル
プレーヤーのHTTP APIから
どう:
- ウェブサーバーがプレーヤーでアクティブになっていることを確認してください(このガイドのネットワークを参照してください Custom Settings)
- プレーヤーの API-GUID を見つける
curl -H "Content-Type:text/xml" -X PUT --data "<Request><Variablename> Persistent='false'>Value</Variablename ></Request>" http://localhost:8080/api/Replay/API-GUID/Variables/Variablename
完全なドキュメントはこちら: HTTP API
イベントから
どう:
- オブジェクトまたはシーンを右クリックし、[イベント]を選択します
- たとえば、 シーンの開始時(When scene starts )を選択し、 追加(Add)をクリックします。
- 一覧から「変数を設定」を選択し、その下に名前と値を記入します。
スコープ:
- Dise movie context(新しいバージョンのデフォルト)またはGlobal(v27より前に自動作成)
- グローバル変数またはローカル変数 のいずれかを選択できます
シーンまたはオブジェクトのランタイム中
どう:
- オブジェクトまたはシーンを右クリックして、[イベント]を選択します
- 再生中に設定された変数の下にある追加 をクリックします
スコープ:
- Dise movie context(新しいバージョンのデフォルト)またはGlobal(v27より前に自動作成)
- グローバル変数またはローカル変数のいずれかを選択できます
変数エディターと「プレビュー」コンテキストエディターから
どう:
- Composer で、[ムービー] > [変数の編集] を選択します。
- [追加 ] をクリックして変数を追加します。
- [ムービー] > [コンテキストの編集] を選択します。
- 「追加 」をクリックしてコンテキストを追加します
- F2 キーを押すか、[値] 列をクリックして定義済みの変数を変更するには、変数を選択します。
スコープ:
- 現在のDiseムービーコンテキストは、Composerでのみ機能します。
自動的に作成された変数名
プレミアムプレーヤー
- PlayerId - プレイヤーのID
- PlayerName - プレイヤーの名前
場所
- BrandId - ディスプレイのブランド ID
- BrandName - ディスプレイのブランド名
- CountryId - ディスプレイの国 ID
- CountryCode - ディスプレイの国コード
- RegionId - ディスプレイのリージョンID
- RegionName - ディスプレイのリージョン名
- SiteId - ディスプレイのサイト ID
- SiteName - ディスプレイのサイト名
- SiteLatitude - このディスプレイのサイトの地理的緯度値
- SiteLongitude - この表示のサイトの地理的経度の値
- SiteAddress - ディスプレイのサイトアドレス
- AreaId - ディスプレイのエリアID
- AreaName - ディスプレイのエリア名
タグ
- <TagName> - ディスプレイ上のタグごとに、対応する変数が作成されます
営業時間
- Operating_hours.exceptions - 営業時間の例外セット
- Operating_hours.<day> - 特定の日の営業時間
- use_operating_hours - 設定された営業時間を使用するかどうか
再生統計
- Playback_statistics.intervall - プレーヤーが再生統計を送信する時間の間隔
- use_playback_statistics - プレーヤーが再生統計を使用するかどうか