Wikitude SDK APIリファレンス

バージョン: 8.1.0
表示:

Soundクラス

継承元: ARchitectObject
モジュール: AR

Soundは、URIによって指定された音声ファイルを表します。

インスタンスが有効な間、AR.CONST.STATEで定義された状態を遷移します。ある特定の時点で、インスタンスは正確に以下のいずれか1つの状態をとります。

  • INITIALIZED
  • LOADING
  • LOADED
  • PLAYING
  • PAUSED
  • ERROR

インスタンスが有効な間の、基本的な状態遷移は以下のとおりです。

  • new AR.Sound(...)によるインスタンスの生成 -> INITIALIZE
  • sound.load() -> LOADING
  • ロードの完了 -> LOADED
  • 再生の開始 -> PLAYING
  • 再生の一時停止 -> PAUSED
  • 再生の再開 -> PLAYING
  • 再生の完了 -> LOADED
  • sound.destroy()の呼び出し -> インスタンスの破棄

重要な状態変更時には、システムによってトリガー(onLoaded()、onFinishedPlaying()、onError())が呼び出されます。アプリケーションでこれらのイベントに反応するには、トリガーに対してカスタム関数を指定します。トリガーにカスタム関数が指定されていない場合、そのトリガーは発生しません。トリガーはインスタンス生成時に指定することも、後で指定することもできます。

プリロードが必要ない場合は、初期化された直後に音声ファイルを再生することもできます。この場合、音声ファイルはストリーミングされ、デバイスには保存されません。ただし、まずロードしなければならないため、再生に遅延が生じる可能性があります。ストリーミング再生の場合、状態はLOADING、LOADED、PLAYING、PAUSEDには変わらず、INITIALIZED状態にとどまることに注意してください。それでもトリガーは発生します。

例:
var sound = new AR.Sound("http://www.myuri.com/sound.mp3", {
  onLoaded : function(){sound.play();},
  onError : function(){
    // alert the user that the sound file could not be loaded
    },
});
sound.onFinishedPlaying = function(){alert("Playing finished");};
sound.load();

コンテンツのリロードはできません。音声ファイルがINITIALIZED以外の状態にあるときにsound.load()を呼び出しても何も起こりません。

音声ファイルがLOADING、PLAYINGの状態にあるときにsound.play()を実行しても何も起こりません。

LOADED状態にある音声ファイルが不要になったら、必ずdestroy()を呼び出してデバイス上のリソースをクリーンアップしてください。

一時停止された音声ファイルの再生を再開する方法は2通りあります。resume()を呼び出すと、一時停止した時点から再生が続行されます。play()を呼び出すと、最初から再生されます。音声ファイルがINITIALIZED状態にあるときにresume()を呼び出した場合は、play(1)と同じように動作します。

ERROR状態は、音声ファイルのロード中または再生中に問題が検出されたことを示します。

コンストラクター

Sound

(
  • uri
  • options
)

パラメーター:

  • uri String

    音声ファイルを指すURI。

  • options Object オプション

    追加のオブジェクトプロパティをカスタマイズするためのパラメーター。

    設定可能なプロパティは以下のとおりです。

項目索引

メソッド

プロパティ

メソッド

destroy

()

継承元: ARchitectObject

オブジェクトを破棄します。

load

()

音声ファイルのロードプロセスを開始します。ロードされた音声ファイルは、直接再生するためにデバイスに保存されます。したがって、システムリソースを消費します。音声ファイルが不要になったら、たとえば、context.onExit()トリガーの実行時にsound.destroy()を呼び出し破棄することを推奨します。

pause

()

この音声ファイルの再生を一時停止します。一時停止した時点から再生を再開するには、resume()を呼び出します。一時停止した状態でplay()を呼び出すと、最初から再生されます。

play

(
  • loopTimes
)

音声ファイルを再生します。

パラメーター:

  • loopTimes(デフォルト値: 1Number オプション

    音声ファイルを連続して再生する回数を指定します。負の値を指定すると無限にループします。

resume

()

一時停止した音声ファイルの再生を一時停止した時点から再開します。それ以外のケースでresume()を呼び出した場合は、play(1)を呼び出したときと同じように動作します。

stop

()

この音声ファイルの再生を停止します。同じ音声ファイルに対してplay()を複数回呼び出した場合、stop()はこの音声ファイルの実行中の再生をすべて停止します。stop()が呼び出された後、onFinishedPlaying()トリガーは実行されません。

プロパティ

destroyed

Boolean

継承元: ARchitectObject

オブジェクトがすでに破棄されているかどうかを示します。

state

Number

Soundの現在の状態。このプロパティは読み取り専用であり、システムによって変更されます。手動で変更しようとすると例外が発生します。有効な値はAR.CONST.STATEで定義されています。

イベント

onError

このトリガーは、音声ファイルの状態がERRORに変更されたときに発生します。

このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者はonErrorトリガーにカスタム関数を指定することで、カスタム機能を追加できます。

onFinishedPlaying

このトリガーは、音声ファイルの状態がPLAYINGからLOADEDまたはINITIALIZEDに変更されたときに発生します。

このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者はonFinishedPlayingトリガーにカスタム関数を指定することで、カスタム機能を追加できます。

onLoaded

このトリガーは、音声ファイルの状態がLOADINGからLOADEDに変更されたときに発生します。

このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者はonLoadedトリガーにカスタム関数を指定することで、カスタム機能を追加できます。