Audio 外部オブジェクトは、スマート デバイス アプリケーションでのオーディオストリームの制御を可能にする、強力で柔軟なシステムを提供します。
このオブジェクトには次の 3 つの目的があります:
- エンドユーザーがオーディオソースを選択し、いつ、どのように再生するかを定義できるようにする
- 再生キューを作成および管理する
- プレーヤーの機能をカスタマイズする
なし
指定のオーディオを指定のカテゴリで再生します。
戻り値 |
なし |
パラメーター |
audio:Audio, category:AudioAPISessionType |
注: スマートデバイスと Web 環境で使用できます。
指定のオーディオをバックグラウンドで再生し、アプリケーションがバックグラウンドで実行されている間、再生を継続します。 このメソッドが標準と見なされます。Play(&Audio,AudioAPISessionType.Background) と似ていますが、オーディオの再生時に description を追加できます。
注: スマートデバイスと Web 環境で使用できます。
既定では、すべてのカテゴリでオーディオの再生を停止します。ただし、セッションタイプの指定がある場合、このカテゴリで再生されているオーディオが停止します。
戻り値 |
なし |
パラメーター |
[ category:AudioAPISessionType ] |
注: スマートデバイスと Web 環境で使用できます。
任意のセッションタイプ、またはカテゴリの指定がある場合はそのカテゴリで再生されているオーディオがあるかどうかを返します。
戻り値 |
なし |
パラメーター |
[ category:AudioAPISessionType ] |
|
|
現在のオーディオキューを返します。
現在のオーディオキューの状態に関する情報を取得します (キュー内と現在の再生アイテム内での位置を含む)。
戻り値 |
MediaQueueState |
パラメーター |
なし |
|
|
現在のオーディオキューを設定します。バックグラウンドで再生されているアイテムがある場合は停止します。 再生状態を維持するために、新しいキュー内で現在のメディアアイテムを探します。見つかった場合は、キュー内でのそのアイテムの位置が更新されます。見つからなかった場合は、キューを停止し、最初から再生します。
戻り値 |
なし |
パラメーター |
queue:MediaQueue |
|
|
現在のオーディオキュー (事前に設定) の再生を開始または再開します。
現在のオーディオキューの再生を一時停止します。
開発者が AudioPlayerSettings で設定することを許可します。
戻り値 |
なし |
パラメーター |
settings:AudioPlayerSettings |
|
|
現在のメディアキュー内のインデックスを使用して、現在の再生アイテムを設定します。現在再生中のアイテムは GetQueueState メソッドで取得できます。
注: 動作の詳細:
- 現在のアイテムが変更されると、その変更が プレーヤーに反映されます。
- 現在のメディアキュー内に指定のインデックスが存在しない場合、呼び出しは無視されます。
- メソッドの呼び出し時にキュー内の曲が再生中であった場合、その曲は中止されます。その後、(キュー内のインデックスで) 選択された曲が最初から再生されます。このアイテムが、現在再生中のアイテムと同じであっても同様です。
SetPlayerSettings メソッドで シャッフルモードが有効になっているときにこのメソッドを呼び出した場合、インデックスは元のキューのもの ( SetQueue メソッドで設定) であるため、期待どおりの順序にはなりません (プレーヤーモードによる)。
SetQueueCurrentIndex メソッドと同じように機能しますが、キュー内のインデックスではなく MediaId を設定に使用します。
このメソッドでは、既定の iOS プレーヤーを画面下部に表示するか (True)、表示しないか (False) を指定できます。
プレーヤーが初期化され、最初の曲が一時停止されます。
注: 検討事項:
- このメソッドは 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 ファイルに追加します。
このメソッドでは、開発者がプレーヤーを全画面モードで表示できます。
このメソッドでは、開発者が全画面モードのプレーヤーを閉じることができます (プレーヤーに対するカスタムアクションの実行時など)。
現在のメディアアイテムまたはメディアの再生状態が変わったときにトリガーされます。
入力 |
queueState:MediaQueueState |
出力 |
なし |
|
|
現在のメディアアイテムの再生が終了したときにアクティベートされます。
入力 |
finishedInfo:MediaItemFinishedInfo |
出力 |
なし |
|
|
エンドユーザーがプレーヤーで、対応する MediaItem に対して特定の ActiontId (通常はイベント名) を持つカスタムアクションをトリガーしたときに呼び出されます。
次に、カスタムアクションの例を示します:
Event Audio.CustomActionEvent(&actionId, ¤tMediaItem)
composite
do Case
case &actionId= !"someUserAction"
//処理を実行
case &actionId= !"anotherAction"
//ほかの処理を実行
otherwise
msg(!"Unknown event", nowait)
endCase
endComposite
EndEvent
オーディオ再生のストリームのタイプです。
Background |
アプリケーションを終了するか、デバイスをロックしたときにもオーディオが再生されます (音楽アプリケーションなど)。 |
Mix |
別のオーディオがバックグラウンドで再生中であってもオーディオが再生されます (新着メッセージの通知音など)。 |
Solo |
オーディオが再生されると、ほかのオーディオは停止されます。Solo モードのオーディオが停止したら、他方のオーディオが再開されます (電話の着信音など)。 |
注: Solo モードと Mix モードは同時に設定できますが、Mix モードと Solo モードを同時に設定すると Mix モードが無効になります。
経過時間をミリ秒単位で管理します。Numeric(12.0) で表します。
特定のメディアアイテムに設定されている既知のキーから構成されます。このすべてがデバイスで自動的に認識されます。
Artist |
アーティスト名です。 |
Album |
アルバムタイトルです。 |
Author |
著作権者の名前です。 |
Writer |
作詞家の名前です。 |
Composer |
作曲家の名前です。 |
Year |
リリース年です (数字を文字列扱い)。 |
Genre |
ジャンル名です。 |
TrackNumber |
アルバムのトラックの番号です (数字を文字列扱い)。 |
NumberOfTracks |
アルバムのトラックの数です (数字を文字列扱い)。 |
DiscNumber |
ディスクナンバー (数字を文字列扱い)。 |
AlbumArtist |
アルバムのアーティスト名です。 |
注: この情報はメディアアイテムごとに組み込むことをお勧めします。
再生可能なメディア ストリーム タイプの列挙型ドメインです。
なし |
提供される情報はありません。 |
Buffered |
ストリーミングコンテンツがバッファリングされることを示します。 |
Live |
ストリーミングコンテンツがリアルタイムで表示されることを示します。 |
|
|
可能な再生状態を示す列挙型ドメインです。
None |
再生キューの初期状態です。 |
Stopped |
再生キューは停止し、現在のトラックをリセットします。キューの再生が再開されると、最後のトラックが最初から再生されます。 |
Paused |
再生キューは一時停止しています。キューの再生が再開されると、最後のトラックが、一時停止した位置から再生されます。 |
Playing |
再生キューが現在のトラックを再生中です。 |
エラー |
再生キューでエラーが発生したことを示します。 |
Transitional |
上記以外のキューの一時的な状態です (バッファリング中、巻き戻し中、スキップ中、早送り中など)。 |
|
|
現在のオーディオが終了した理由を示す列挙型ドメインです。値は次のとおりです:
Unknown |
メディアアイテムが終了した理由が、下記のいずれの値でもない場合です。 |
PlaybackCompleted |
現在のオーディオ再生モードが完了したか、正常に終了しました。 |
Stopped |
現在のオーディオ再生が停止しました。 |
Skipped |
現在のオーディオ再生がスキップされました。 |
QueueReplaced |
オーディオキューが変更され、現在のオーディオ再生に該当するアイテムが含まれません。 |
|
|
この API を使用するために、SmartDevicesApi/Media フォルダに複数のデータタイプが用意されています。
プレイリスト内のアイテムです。
- Id:VarChar(40)
メディアアイテムの識別子です。
- Uri:URL
メディアアイテムの URI です (Web URL など)。短縮 URL も指定できます (tiny、bitly、goo.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 は、その値を基に決定されたレシーバーアプリケーションで使用することができます。
システム上の再生キューを表します。
- Title:VarChar(100)
メディアのキューのタイトルです。
- Items:Collection(MediaItems)
メディアのキューのアイテムです。
再生キューの現在の状態に関する情報を示します。
- State:PlaybackState
キューの再生状態を示します。
- QueuePosition:Numeric(8.0)
現在表示されているメディアアイテムのキューの位置を示します (1 から始まります)。
- TrackPosition:MediaDuration
現在表示されているメディアアイテムの開始からの経過時間です (ミリ秒)。
- MediaId:VarChar(40)
メディアキューの現在のアイテムの識別子です。
プレイリスト内のアイテムです。
- ItemId:VarChar(40)
メディアアイテムの識別子です。
- QueuePosition:Numeric(8.0)
メディアアイテムのキュー内での位置です。
- TrackPosition:MediaDuration
メディアアイテムの経過時間です (ミリ秒)。
- Reason:MediaFinishReason
メディアアイテムが終了した理由です。
プレーヤーが全画面モードのときに追加されるカスタムアクションを定義します。
注: 画像は Android ジェネレーターでのみサポートされます。画像はナレッジベースに含まれている必要があり (外部画像はサポート対象外)、また表示するには、プレーヤーが埋め込まれている SDPanel/WWSD に参照を含める必要があります。
プレーヤーが全画面モードのときに、3 つの既定モードのうちいずれかを有効にするか、カスタムアクションを組み込むかを選択できます。
既定のモードは次のとおりです。
Toggle Favourite |
エンドユーザーが曲をお気に入りとして選択したり、選択を解除したりできます。
このアクションによって CustomActionEvent イベントがトリガーされます。このとき EventName の値は "GXFavouriteStatusChange" で、MediaItem は IsFavourite フィールドが変更されます。 |
Toggles Repeat |
エンドユーザーが、同じ曲を繰り返す、キュー全体を繰り返す、または繰り返しなしを選択できます。 |
Toggles Shuffle |
曲をランダムに再生するか、順番に再生するかを選択できます。 |
|
|
- SupportsFavourite:Boolean
プレーヤーでお気に入りアイコンを有効化し、エンドユーザーがお気に入りのメディアアイテムにマークできるようにします。
- SupportRepeat:Boolean
プレーヤーで繰り返し機能 ( アイコン) を有効化します。
- SupportShuffle:Boolean
プレーヤーでシャッフル機能 ( アイコン) を有効化します。
- CustomActions:Collection(AudioPlayerCustomAction)
プレーヤーに追加されたカスタムアクションのコレクションです。
注: 新しい設定を適用するには、SetPlayerSettings メソッド (後述) を呼び出す必要があります。このアクションは、プレーヤーが次に全画面表示されたときに有効になります (メソッド呼び出し時に全画面モードで表示されていた場合)。
- 標準のオーディオ形式 (mp3 や wav ファイルなど) を使用します。その他のファイル拡張子のサポートは、使用するブラウザーによって異なります。
- GeneXus 15 Upgrade 6 以降では、Web 環境で Play、PlayBackground、および Pause メソッドを使用できます。
対応しているプラットフォーム: |
Web (Java、.NET)、スマートデバイス (iOS、Android) |
この外部オブジェクトは、GeneXus 15 以降で利用できます。
|