New in 14: AV 再生操作

Version 2

     

     

     

     

    FileMaker Go 14 では、フルスクリーンに切り替えなくてもレイアウトから直接ビデオを表示したり、オーディオを再生したりすることができます。また、このメディアの再生中もソリューションの操作を続けることができます。この新しい操作感は以下に示すスクリプトオプションにより、さらにすばらしいものとなっています。これらの要素を組み合わせることで、デジタル資産の確認やトレーニングの認証、その他の興味深い使用例に適した高度なソリューションを考案できます。

    スクリプトステップ

    • AVPlayer 再生: メディアの再生を開始します。
    • AVPlayer オプション設定: 再生中のメディアの再生設定を変更します。
    • AVPlayer 再生状態設定: 再生中のメディアファイルの再生状態を変更します。


    スクリプトトリガ

    • OnObjectAVPlayerChange: オブジェクト (オブジェクトフィールドまたは Web ビューア) 内のメディアの再生状態が変更されたときにスクリプトを実行します。
    • OnFileAVPlayerChange: メディアファイルが再生中で、そのメディアファイルの再生状態が変更された場合にスクリプトを実行します。
    • OnExternalCommandReceived: ユーザが FileMaker Go 以外でメディアファイルの再生を操作した場合にスクリプト実行をします。


    関数

    • GetAVPlayerAttribute: オブジェクトフィールドにあるオーディオ、ビデオ、またはイメージファイルのさまざまな属性を返します。




     


    目的:


    新しい AV スクリプトステップ、トリガ、および関数を使用して、メディアの再生を伴う簡単なインタラクティブプロセスを作成します。


    ビデオを鑑賞中のユーザがコメントを入力するときに再生を一時停止する簡単な一連のトリガスクリプトを実装します。コメントを保存するとコメントとともに一時停止位置も記録されます。ビデオを再開すると自動的に一時停止位置から再生されます。

     

    一時停止位置が記録されるためユーザがその情報をコメントに含める必要はありません。コメントを参照するすべてのユーザは、ビデオがその位置に来るとコメントの内容を簡単に把握することができます。

     

     

    開始する前に:

     

    デスクトップまたはラップトップ上の FileMaker Pro 14 で「承認」というサンプルソリューションが開かれていることを確認します。ホストされたファイルとして iPad 上で使用できるようにこのマシンは iPad と同じローカルネットワーク上にある必要があります。

     


    手順:

     

    • 再生を一時停止するスクリプトの作成

      このスクリプトは、(再生中のメディアファイルがある場合) メディアファイルの再生を一時停止し、現在の再生位置をグローバル変数に記録してから再生を停止します。再生中のメディアファイルがない場合、グローバル変数は 0 に設定されます。

      スクリプトの入力方法はポイントアンドクリック機能と新しいキーボード機能のいずれも使用できます。以下の手順はどちらにも当てはまります。

     

    1. [スクリプトワークスペース] を開いて「トリガ | 再生一時停止」という新しいスクリプトを作成します。

    2. [AVPlayer 再生状態設定] スクリプトステップを追加して、スクリプトオプションを [一時停止] に変更します。このステップは再生中のメディアファイルの再生を一時停止します。

    3. [変数を設定] スクリプトステップを追加して、変数に“$$POSITION”という名前を付けます。

    4. として If ( GetAVPlayerAttribute ( "再生状態" ) = 0 ; "" ; GetAVPlayerAttribute ( "位置" ) ) を入力します。

      再生がすでに停止されている場合はこの式は値「0」を返します。それ以外の場合は現在の (一時停止した) 再生位置を返します。

    5. [AVPlayer 再生状態設定] スクリプトステップをもう 1 つ追加してスクリプトオプションを [停止] に変更します。このステップは再生状態を一時停止から停止に変更します。

    6. スクリプトを「トリガ | 再生一時停止 (完成)」と比較して適切に作成できているかを確認します。

    7. スクリプトを保存して閉じます。


      OnObjectEnter スクリプトトリガの設定

     

    1. 「承認詳細 | Go - メディア」レイアウト (「Go」フォルダ内) がレイアウトモードで表示されていることを確認します。

    2. 画面中央の「リソース::zgt_コメント」フィールドを Control キーを押しながらクリック (OS X) または右クリック (Windows) します。

    3. 表示されるドロップダウンメニューから [スクリプトトリガ設定...] を選択します。[スクリプトトリガ設定] ダイアログウインドウが表示されます。

    4. トリガのリストで [OnObjectEnter] トリガをダブルクリックします。[スクリプト指定] ダイアログウインドウが表示されます。

    5. 新しく作成した「トリガ | 再生一時停止」スクリプトをダブルクリックします。スクリプトが選択されて [スクリプト指定] ウインドウが閉じます。

    6. [OK] をクリックして変更を保存し、[スクリプトトリガ設定] ウインドウを閉じます。


      再生を再開するスクリプトの作成

    7. [スクリプトワークスペース] を開いて「再生再開」という新しいスクリプトを作成します。

    8. $$POSITION > 0”という条件で If ステートメントを追加します。

      「$$POSITION」が正の値の場合はメディアファイルの再生が一時停止され、この値が記録されたことを意味します。

    9. If ステートメント内で、[AVPlayer 再生状態設定] スクリプトステップを追加してスクリプトオプションを [停止] に変更します。このステップは再生中のメディアファイルがある場合にそのメディアファイルの再生を一時停止します。


    1. さらに、If ステートメント内で [AVPlayer 再生] スクリプトステップを追加します。このステップのオプションを変更します。

    2. [ソース] オプションを [フィールド...] に変更して「イメージ | オブジェクト」フィールド (「承認」内) を選択します。

    3. [位置] オプションをGetAsNumber ($$POSITION)」に設定します。

      これによりビデオの開始位置が「$$POSITION」に保存されている値に設定されます。時間に相当する数値として位置を指定する必要があるため GetAsNumber() 関数は必須です。

      これでスクリプトの作成は終了です。ただし、ユーザのコメントを保存するさらに大きいスクリプトにこのスクリプトを保存する必要があります。このスクリプトは [保存] ボタンをタップすると呼び出されます。


    1. 「コメント保存 | Go」スクリプトを開きます。

    2. スクリプトの最後 (コメント「「再生再開」サブスクリプトをここに追加」の後) に [スクリプト実行] スクリプトステップを追加します。

    3. 新しく作成した「再生再開」スクリプトを実行対象のスクリプトとして選択します。


      iPad でのプロセスのテスト


    4. ホストされている「承認」ソリューションを iPad で開きます。

    5. iPad 用の「承認一覧」レイアウトが表示されていることを確認します。

    6. 「草地でのランニング」承認レコードに移動します。

    7. ファイル名の上に表示されるビデオファイルのアイコンをタップしてから [再生] オプションを選択します。

    8. ビデオの再生中に [承認] ボタンをタップします。ボタンのスクリプトが実行されてソリューションの操作が可能であることを確認します。


    1. ビデオの再生を継続したまま「コメント」フィールドをタップします。トリガによってビデオが自動的に一時停止され、ビデオの現在位置が検出されます。これによりユーザはビデオを見逃すことなくコメントに集中することができます。

    2. ビデオについてのコメントを入力します。

    3. [保存] ボタンをタップします。画面下部にコメントが表示されます。このコメントにはコメント作成時のタイムスタンプとビデオの現在位置の両方が含まれます。これによりコメントを参照する他のユーザはビデオ内のコメントの正確な場所を知ることができるため、コメントを付けた場所に関する情報をコメントに記載する手間が省けます。

    4. ビデオを再開して最後まで再生します。

    5. コメントの右側にある [再生] ボタンをタップします。コメントを付けた場所からビデオが再開されます。




     

     

    画面上に表示されるスクリプトステップ、スクリプトトリガ、および関数についての詳細を以下に示します。


     

    スクリプトステップ

     

    • AVPlayer 再生: メディアの再生を開始します。再生の開始位置や停止位置など、さまざまな再生オプションを使用できます。レイアウトオブジェクト (オブジェクト名で指定されたオブジェクトフィールド)、フィールド、または URL といったメディアのソースを指定することができます。さらに、メディアをフルスクリーンで表示するのか、オブジェクトフィールド内に表示するのか、または単にオーディオトラックを再生するのかも指定することができます。ただし、ソースが URL の場合、選択できるのはフルスクリーンまたはオーディオのみです。


    • AVPlayer オプション設定: 再生中のメディアの再生設定を変更します。「AVPlayer 再生」のオプションに似ています。たとえば、ロック画面で iOS の再生コントロールを無効にすることができます。複数のメディアファイルの再生順序を設定することもできます。


    • AVPlayer 再生状態設定: 再生中のメディアファイルの再生状態 (再生、一時停止、停止) を変更することができます。



    スクリプトトリガ


    • OnObjectAVPlayerChange: 特定のオブジェクトフィールドまたは Web ビューア内のメディアの再生状態が変更された場合にスクリプトを実行します。このトリガは再生状態がユーザによって変更された場合、最後まで再生されたためにメディアが停止した場合、またはスクリプトの結果として再生状態が変更された場合に起動します。


    • OnFileAVPlayerChange: メディアファイルがフィールドまたは URL から再生中で、ユーザにより、またはスクリプトステップの設定で再生状態が変更された場合にスクリプトを実行します。このスクリプトトリガは以下のイベントによって有効化されます。
      • ユーザが再生コントロールまたはジェスチャを使用して、メディアを一時停止、再生、または停止した場合
      • ビデオの最後に達したため、ビデオの再生が停止された場合
      • [AVPlayer 再生状態設定] スクリプトステップが [停止] に設定されたため、メディアの再生が停止された場合
      • [AVPlayer 再生] スクリプトステップが別のビデオの再生を開始したため、ビデオの再生が停止された場合

    • OnExternalCommandReceived: ユーザがロック画面または外部デバイスで、停止、再生、一時停止、再生/一時停止の切り替え、次を再生、前を再生、前方検索/後方検索の開始または終了といったボタンのいずれかを押した場合にスクリプトを実行します。



    関数


    • GetAVPlayerAttribute :オブジェクトフィールドのオーディオ、ビデオ、またはイメージファイルのさまざまな属性を返します。これにはメディアソース、再生状態、表示 (上記を参照)、再生中の位置、開始位置、終了位置などが含まれます。