最近のアクセス:
Audio 外部オブジェクト

Audio 外部オブジェクトは、スマート デバイス アプリケーションでのオーディオストリームの制御を可能にする、強力で柔軟なシステムを提供します。
このオブジェクトには次の 3 つの目的があります:
  • エンドユーザーがオーディオソースを選択し、いつ、どのように再生するかを定義できるようにする
  • 再生キューを作成および管理する
  • プレーヤーの機能をカスタマイズする
警告: この外部オブジェクトが提供するメソッドとイベントは、パネルWWSD オブジェクトのスマート デバイス イベントのクライアント側で使用できます。一部、Web 環境でも利用できます。

イメージ:39660.png イメージ:39661.png

プロパティ

なし

メソッド

Play メソッド

指定のオーディオを指定のカテゴリで再生します。
戻り値  なし
パラメーター audio:Audio, category:AudioAPISessionType
: スマートデバイスと Web 環境で使用できます。

PlayBackground メソッド

指定のオーディオをバックグラウンドで再生し、アプリケーションがバックグラウンドで実行されている間、再生を継続します。  このメソッドが標準と見なされます。Play(&Audio,AudioAPISessionType.Background) と似ていますが、オーディオの再生時に description を追加できます。
戻り値  なし
パラメーター audio:Audio [ , description:Character(20) ]
: スマートデバイスと Web 環境で使用できます。

Stop メソッド

既定では、すべてのカテゴリでオーディオの再生を停止します。ただし、セッションタイプの指定がある場合、このカテゴリで再生されているオーディオが停止します。
戻り値  なし
パラメーター [ category:AudioAPISessionType ]
: スマートデバイスと Web 環境で使用できます。

IsPlaying メソッド

任意のセッションタイプ、またはカテゴリの指定がある場合はそのカテゴリで再生されているオーディオがあるかどうかを返します。
戻り値  なし
パラメーター [ category:AudioAPISessionType ]
   

GetQueue メソッド

現在のオーディオキューを返します。
戻り値  MediaQueue
パラメーター なし
   

GetQueueState メソッド

現在のオーディオキューの状態に関する情報を取得します (キュー内と現在の再生アイテム内での位置を含む)。
戻り値  MediaQueueState
パラメーター なし
   

SetQueue メソッド

現在のオーディオキューを設定します。バックグラウンドで再生されているアイテムがある場合は停止します。  再生状態を維持するために、新しいキュー内で現在のメディアアイテムを探します。見つかった場合は、キュー内でのそのアイテムの位置が更新されます。見つからなかった場合は、キューを停止し、最初から再生します。
戻り値  なし
パラメーター queue:MediaQueue
   

PlayQueue メソッド

現在のオーディオキュー (事前に設定) の再生を開始または再開します。
戻り値  なし
パラメーター なし
   

PauseQueue メソッド

現在のオーディオキューの再生を一時停止します。
戻り値  なし
パラメーター なし
   

SetPlayerSettings メソッド

開発者が AudioPlayerSettings で設定することを許可します。
戻り値  なし
パラメーター settings:AudioPlayerSettings
   

SetQueueCurrentIndex メソッド

現在のメディアキュー内のインデックスを使用して、現在の再生アイテムを設定します。現在再生中のアイテムは GetQueueState メソッドで取得できます。
戻り値  なし
パラメーター index:Numeric(8.0)
: 動作の詳細:
- 現在のアイテムが変更されると、その変更がプレーヤーに反映されます。
- 現在のメディアキュー内に指定のインデックスが存在しない場合、呼び出しは無視されます。
- メソッドの呼び出し時にキュー内の曲が再生中であった場合、その曲は中止されます。その後、(キュー内のインデックスで) 選択された曲が最初から再生されます。このアイテムが、現在再生中のアイテムと同じであっても同様です。
SetPlayerSettings メソッドでシャッフルモードが有効になっているときにこのメソッドを呼び出した場合、インデックスは元のキューのもの (SetQueue メソッドで設定) であるため、期待どおりの順序にはなりません (プレーヤーモードによる)。

SetQueueCurrentItem メソッド

SetQueueCurrentIndex メソッドと同じように機能しますが、キュー内のインデックスではなく MediaId を設定に使用します。  
戻り値  なし
パラメーター mediaId:VarChar(40)
   

iOSSetShowsMiniPlayer メソッド

このメソッドでは、既定の iOS プレーヤーを画面下部に表示するか (True)、表示しないか (False) を指定できます。
プレーヤーが初期化され、最初の曲が一時停止されます。
戻り値  なし
パラメーター show:Boolean
: 検討事項:
- このメソッドは iOS 固有であり、[ Navigation Style ] プロパティを Slide モードに設定する必要があります。
- このプレーヤーはミニプレーヤーと同じではありません。
- この既定のミニプレーヤー (iOS が提供) は、生成されたプロジェクトの *.plist ファイルにこれらの行を追加することでカスタマイズできます。
>> Customize height:
        <key>GXSliderMenuCollapsedBottomPanelHeight</key>
        <integer>numeric_value</integer>
   numeric_value は dip で表される整数です。
>> Customize Color
        <key>GXAudioAPIMiniPlayerBackgroundColor </key>
        <integer>hex_color</integer>
   hex_color は色を 16 進で表示したもの (例: #29b6f6) です。
ビルドするたびに上書きされないようにするためには、<gx インストールディレクトリー>/iOS/Templates/iOS_Genexus/ ディレクトリーにある MainName-Info.plist ファイルに追加します。

iOSDisplayFullScreenPlayer メソッド

このメソッドでは、開発者がプレーヤーを全画面モードで表示できます。
戻り値  なし
パラメーター なし
   

iOSDismissFullScreenPlayer メソッド

このメソッドでは、開発者が全画面モードのプレーヤーを閉じることができます (プレーヤーに対するカスタムアクションの実行時など)。
戻り値  なし
パラメーター なし
   

イベント

QueueStateChanged イベント

現在のメディアアイテムまたはメディアの再生状態が変わったときにトリガーされます。
入力 queueState:MediaQueueState
出力  なし
   

QueueItemFinished イベント

現在のメディアアイテムの再生が終了したときにアクティベートされます。
入力 finishedInfo:MediaItemFinishedInfo
出力  なし
   

CustomActionEvent イベント

エンドユーザーがプレーヤーで、対応する MediaItem に対して特定の ActiontId (通常はイベント名) を持つカスタムアクションをトリガーしたときに呼び出されます。
入力 actionId:VarChar(40), currentItem:MediaItem
出力  なし
   
次に、カスタムアクションの例を示します:
Event Audio.CustomActionEvent(&actionId, &currentMediaItem)
    composite
        do Case 
            case &actionId= !"someUserAction"
                //処理を実行
            case &actionId= !"anotherAction"
                //ほかの処理を実行
            otherwise
                msg(!"Unknown event", nowait)
        endCase
    endComposite
EndEvent

ドメイン

AudioAPISessionType ドメイン

オーディオ再生のストリームのタイプです。
Background  アプリケーションを終了するか、デバイスをロックしたときにもオーディオが再生されます (音楽アプリケーションなど)。
Mix 別のオーディオがバックグラウンドで再生中であってもオーディオが再生されます (新着メッセージの通知音など)。
Solo オーディオが再生されると、ほかのオーディオは停止されます。Solo モードのオーディオが停止したら、他方のオーディオが再開されます (電話の着信音など)。 
: Solo モードと Mix モードは同時に設定できますが、Mix モードと Solo モードを同時に設定すると Mix モードが無効になります。

MediaDuration ドメイン

経過時間をミリ秒単位で管理します。Numeric(12.0) で表します。

MediaMetadataKey ドメイン

特定のメディアアイテムに設定されている既知のキーから構成されます。このすべてがデバイスで自動的に認識されます。
Artist アーティスト名です。
Album アルバムタイトルです。
Author 著作権者の名前です。
Writer 作詞家の名前です。
Composer  作曲家の名前です。
Year リリース年です (数字を文字列扱い)。
Genre ジャンル名です。
TrackNumber  アルバムのトラックの番号です (数字を文字列扱い)。
NumberOfTracks   アルバムのトラックの数です (数字を文字列扱い)。
DiscNumber ディスクナンバー (数字を文字列扱い)。
AlbumArtist アルバムのアーティスト名です。
: この情報はメディアアイテムごとに組み込むことをお勧めします。

MediaStreamType

再生可能なメディア ストリーム タイプの列挙型ドメインです。
なし 提供される情報はありません。
Buffered  ストリーミングコンテンツがバッファリングされることを示します。
Live ストリーミングコンテンツがリアルタイムで表示されることを示します。
   

PlaybackState ドメイン

可能な再生状態を示す列挙型ドメインです。
None 再生キューの初期状態です。 
Stopped 再生キューは停止し、現在のトラックをリセットします。キューの再生が再開されると、最後のトラックが最初から再生されます。
Paused 再生キューは一時停止しています。キューの再生が再開されると、最後のトラックが、一時停止した位置から再生されます。
Playing 再生キューが現在のトラックを再生中です。
エラー 再生キューでエラーが発生したことを示します。
Transitional  上記以外のキューの一時的な状態です (バッファリング中、巻き戻し中、スキップ中、早送り中など)。
   

MediaFinishReason

現在のオーディオが終了した理由を示す列挙型ドメインです。値は次のとおりです:
Unknown メディアアイテムが終了した理由が、下記のいずれの値でもない場合です。
PlaybackCompleted  現在のオーディオ再生モードが完了したか、正常に終了しました。
Stopped 現在のオーディオ再生が停止しました。
Skipped 現在のオーディオ再生がスキップされました。
QueueReplaced オーディオキューが変更され、現在のオーディオ再生に該当するアイテムが含まれません。
   

構造化データタイプ

この API を使用するために、SmartDevicesApi/Media フォルダに複数のデータタイプが用意されています。

MediaItem

プレイリスト内のアイテムです。
  • Id:VarChar(40)
    メディアアイテムの識別子です。
     
  • Uri:URL
    メディアアイテムの URI です (Web URL など)。短縮 URL も指定できます (tinybitlygoo.gl など)。
     
  • ContentType:VarChar(100)
    メディアアイテムのコンテンツタイプです (オーディオの 'audio/mpeg' など)。
     
  • StreamType:MediaStreamType
    メディアアイテムのストリームタイプです。
     
  • Title:VarChar(100)
    メディアアイテムのタイトルです。
     
  • Subtitle:VarChar(100)
    メディアアイテムのサブタイトルです。
     
  • Description:VarChar(300)
    メディアアイテムの説明です。
     
  • Image:Image
    メディアアイテムの画像です (アルバムカバーなど)。
     
  • Duration:MediaDuration
    メディアアイテムの所要時間です。0 の意味は '無限' または '不明' です。
     
  • IsFavourite:Boolean
    メディアアイテムがお気に入りとしてマークされている (True) か、そうでないか (False) を示します。
     
  • Metadata:Collection( Property )
    MediaItem に追加情報を組み込むためのキーと値のペアを定義します。 
     
    • Key:VarChar(50)
      メタデータキーです。MediaMetadataKey ドメインには、一連のキー (デバイスによって自動的に認識される) が用意されていますが、カスタムキーを追加することもできます。
       
    • Value:VarChar(500)
      メタデータの値です (文字列)。
: ContentType フィールドと StreamType フィールドは、Google Chromecast とやりとりするために使用するもので、Android でのみ利用可能です。
- ContentType は Uri の MIME タイプです。この値は必須です (既定では、audio/mpeg です)。
- StreamType は、その値を基に決定されたレシーバーアプリケーションで使用することができます。

 MediaQueue

システム上の再生キューを表します。
  • Title:VarChar(100)
    メディアのキューのタイトルです。
     
  • Items:Collection(MediaItems)
    メディアのキューのアイテムです。
     

 MediaQueueState

再生キューの現在の状態に関する情報を示します。 
  • State:PlaybackState
    キューの再生状態を示します。
     
  • QueuePosition:Numeric(8.0)
    現在表示されているメディアアイテムのキューの位置を示します (1 から始まります)。
     
  • TrackPosition:MediaDuration
    現在表示されているメディアアイテムの開始からの経過時間です (ミリ秒)。
     
  • MediaId:VarChar(40)
    メディアキューの現在のアイテムの識別子です。
     

MediaItemFinishedInfo

プレイリスト内のアイテムです。
  • ItemId:VarChar(40)
    メディアアイテムの識別子です。
     
  • QueuePosition:Numeric(8.0)
    メディアアイテムのキュー内での位置です。
     
  • TrackPosition:MediaDuration
    メディアアイテムの経過時間です (ミリ秒)。
     
  • Reason:MediaFinishReason
    メディアアイテムが終了した理由です。
     

AudioPlayerCustomAction

プレーヤーが全画面モードのときに追加されるカスタムアクションを定義します。
  • Id:VarChar(40)
    カスタムアクションの識別子です (カスタムイベント名など)。
     
  • Title:VarChar(200)
    カスタムアクションのタイトルです (画面上に表示されます)。
     
  • Image:Image
    カスタムアクションの画像です (アイコンなど)。
: 画像は Android ジェネレーターでのみサポートされます。画像はナレッジベースに含まれている必要があり (外部画像はサポート対象外)、また表示するには、プレーヤーが埋め込まれている SDPanel/WWSD に参照を含める必要があります。

 AudioPlayerSettings

プレーヤーが全画面モードのときに、3 つの既定モードのうちいずれかを有効にするか、カスタムアクションを組み込むかを選択できます。
既定のモードは次のとおりです。
Toggle Favourite  エンドユーザーが曲をお気に入りとして選択したり、選択を解除したりできます。
このアクションによって CustomActionEvent イベントがトリガーされます。このとき EventName の値は "GXFavouriteStatusChange" で、MediaItem は IsFavourite フィールドが変更されます。  
Toggles Repeat エンドユーザーが、同じ曲を繰り返す、キュー全体を繰り返す、または繰り返しなしを選択できます。
Toggles Shuffle 曲をランダムに再生するか、順番に再生するかを選択できます。
   
  • SupportsFavourite:Boolean
    プレーヤーでお気に入りアイコンを有効化し、エンドユーザーがお気に入りのメディアアイテムにマークできるようにします。
     
  • SupportRepeat:Boolean
    プレーヤーで繰り返し機能 (イメージ:39663.png アイコン) を有効化します。
     
  • SupportShuffle:Boolean
    プレーヤーでシャッフル機能 (イメージ:39664.png アイコン) を有効化します。
     
  • CustomActions:Collection(AudioPlayerCustomAction)
    プレーヤーに追加されたカスタムアクションのコレクションです。
: 新しい設定を適用するには、SetPlayerSettings メソッド (後述) を呼び出す必要があります。このアクションは、プレーヤーが次に全画面表示されたときに有効になります (メソッド呼び出し時に全画面モードで表示されていた場合)。

スマートデバイス

Web 固有

  • 標準のオーディオ形式 (mp3 や wav ファイルなど) を使用します。その他のファイル拡張子のサポートは、使用するブラウザーによって異なります。 
  • GeneXus 15 Upgrade 6 以降では、Web 環境で Play、PlayBackground、および Pause メソッドを使用できます。

適用範囲

対応しているプラットフォーム:  Web (Java、.NET)、スマートデバイス (iOS、Android)

使用可能バージョン

この外部オブジェクトは、GeneXus 15 以降で利用できます。

参考情報






サブページ
Created: 17/05/30 19:01 by Admin Last update: 21/05/21 02:38 by Admin
カテゴリ
Powered by GXwiki 3.0