最近のアクセス:
スマートデバイスでオーディオを使用する方法

Audio 外部オブジェクトを使用して、スマート デバイス アプリケーションのオーディオ機能を有効にすることができます。
この API は以下の目的で使用できます:
a. オーディオを再生し、ユーザーがアプリケーションを閉じても再生を継続する。
b. オーディオを再生し、アプリケーションを閉じたときは、再生を停止する。
c. 2 つのオーディオを同時に再生する。
ここでは、上記 a、b、c それぞれのケースを GeneXus で実装する方法を説明し、API の主要機能と、この機能をスマート デバイス アプリケーションで使用した例もいくつか紹介します。

使用する GeneXus オブジェクト

この API は、外部オブジェクトドメインで構成されています。
a) を実装するには、GeneXus の PlayBackground メソッドを使用します。このメソッドは、アプリケーションを閉じた場合でも、オーディオをバックグラウンドで再生します。
b) と c) を実装するためのメソッドは Play です。しかし、このメソッドは、再生されるオーディオ (Audio) のほかに、もう 1 つパラメーターを受け取ります。このパラメーターは、ドメイン AudioAPISessionType に基づいています。
 
このドメインには次の値を指定できます:
Solo オーディオが再生されている場合は停止し、Audio パラメーターで渡されたオーディオが実行されます。
Mix オーディオが再生中でも、Audio パラメーターで渡されたオーディオを再生します。
Background  Audio.PlayBackground を実行する場合と似ています。

外部オブジェクトは下図のとおりです:
イメージ:32308.png
1 つのオーディオの再生に関係するメソッドは次のとおりです:
  • PlayBackground(Audio, Category)
    指定されたカテゴリ (Background、Mix、または Solo) でオーディオを再生します。
     
  • PlayBackground(Audio, Description)
    オーディオをバックグラウンドモードで再生し、デバイスのロック画面上にパラメーターで渡された説明 (文字) を表示します。
     
  • Play(Audio, AudioAPISessionType) 
    指定されたタイプでオーディオを再生します。
     
  • Stop 
    再生中のすべてのオーディオを停止します。
     
  • Stop(Category)
    指定されたセッションタイプ (Background、Mix、または Solo) のオーディオを停止します。
     
  • IsPlaying: Boolean  
    ブール値を返します。オーディオが再生中は True を返します。
     
  • IsPlaying(Category): Boolean
    このメソッドは、パラメーターで渡された種類のオーディオが再生中かどうかを示すブール値を返します。
[ Audio ] パラメーターは Audio データタイプに基づいています。

以下のイベントは、オーディオをバックグラウンドで再生します:
Event 'PlayBackground'
    Audio.PlayBackground(&varAudioLong)
EndEvent
以下のイベントは、上記と同様に動作します:
Event 'PlayBackground2'
    Audio.Play(&varAudio4, AudioAPISessionType.Background)
Endevent
以下のイベントは、&AudioMix と、再生中だったオーディオと一緒に実行します:
Event 'PlayMix'
    Audio.Play(&varAudio4, AudioAPISessionType.Mix)
Endevent
既にバックグラウンドモードでオーディオが再生されている場合は、オーディオがミックスされます。
以下のイベントは &SoloAudio だけを実行し、再生中だったほかのオーディオは停止します:
Event 'PlaySolo'
    Audio.Play(&varAudio2, AudioAPISessionType.Solo)
Endevent
バックグラウンドモードで再生中のオーディオがある場合、そのオーディオは一時停止され、Solo オプションのオーディオが終了した後で再開されます。
以下のイベントは、バックグラウンドオーディオが再生されていない場合は再生し、バックグラウンドオーディオが既に再生されている場合は、バックグラウンドオーディオを再生します: Mix オーディオを再生します:
Event 'isPlayingBackground'
    Composite
        &varBoolean = Audio.IsPlaying(AudioAPISessionType.Background)
        if &varBoolean
           Audio.Play(&varAudio4, AudioAPISessionType.Solo)
        else
           Audio.PlayBackground(&varAudioLong)
        endif
    EndComposite
Endevent
注:
  • Background オプションを使用する場合は、デバイスがミュート状態であっても、オーディオが聞こえます。
  • Mix オプションは、通常、短いオーディオの再生に使用されます。既存のオーディオにかぶせて聞こえることがあります。デバイスがミュート状態の場合、オーディオは聞こえません。

Apple の場合のバックグラウンド再生の有効化

iOS で、アプリケーションを実行していないときでもオーディオを再生できるようにするには、追加の権限が必要です。既定では、アプリケーションを閉じると、PlayBackground() メソッドで開始された場合でもオーディオは停止されます。
iOS でバックグラウンド再生を有効にするには、[ Background Modes ] プロパティに audio の値を追加する必要があります。


サブページ
Created: 14/09/18 03:13 by Admin Last update: 24/03/25 23:57 by Admin
カテゴリ
Powered by GXwiki 3.0