| パッケージ | flash.media |
| public class SoundLoaderContext | |
| 継承 | SoundLoaderContext Object |
load() メソッドにパラメータとして渡されます。
このクラスを使用するときは、Flash® Player セキュリティモデルを考慮してください。
Sound.id3 プロパティおよび SoundMixer.computeSpectrum() メソッド、SoundMixer.bufferTime メソッド、SoundTransform() メソッドです。詳細については、次の参照先を参照してください。
| プロパティ | 定義 | ||
|---|---|---|---|
| bufferTime : Number = 1000
サウンドのストリーミングを開始するまでに、バッファにストリーミングサウンドをプリロードする秒数です。
| SoundLoaderContext | ||
| checkPolicyFile : Boolean = false
サウンドのロードを開始する前に、Flash Player が、ロードされるサウンドのサーバーからクロスドメインポリシーファイルをダウンロードしようとするかどうかを指定します。
| SoundLoaderContext | ||
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| メソッド | 定義 | ||
|---|---|---|---|
|
新しい ContextMenu オブジェクトを作成します。
| SoundLoaderContext | ||
![]() |
指定されたプロパティがオブジェクトに定義されているかどうかを示します。
| Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。
| Object | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。
| Object | |
| bufferTime | プロパティ |
public var bufferTime:Number = 1000サウンドのストリーミングを開始するまでに、バッファにストリーミングサウンドをプリロードする秒数です。
グローバル SoundMixer.bufferTime プロパティを設定して SoundLoaderContext.bufferTime の値をオーバーライドすることはできません。SoundMixer.bufferTime プロパティは SWF に埋め込まれたストリーミングサウンドのバッファ時間に影響し、動的に作成される Sound オブジェクト (ActionScript で作成される Sound オブジェクト) には影響しません。
| checkPolicyFile | プロパティ |
public var checkPolicyFile:Boolean = false
サウンドのロードを開始する前に、Flash Player が、ロードされるサウンドのサーバーからクロスドメインポリシーファイルをダウンロードしようとするかどうかを指定します。このプロパティは、呼び出し元の SWF ファイル自身のドメイン外から Sound.load() メソッドを使用してロードされたサウンドに適用されます。
呼び出し元の SWF ファイル自身のドメイン外からサウンドをロードし、ActionScript から低レベルでサウンドにアクセスする必要がある場合は、このプロパティを true に設定します。サウンドデータへの低レベルアクセスの例です。ID3Info オブジェクトを取得するための Sound.id3 プロパティへの参照、またはロードされたサウンドからサウンドサンプリングを取得する SoundMixer.computeSpectrum() メソッドの呼び出しが含まれます。ロード時に checkPolicyFile プロパティを true に設定せずにサウンドデータにアクセスしようとした場合、必要なポリシーファイルがダウンロードされていないために SecurityError 例外を受け取る場合があります。
ロードするサウンドデータへの低レベルのアクセスを必要としない場合は、checkPolicyFile を true に設定しないでください。ポリシーファイルの確認はネットワーク帯域幅の浪費になり、ダウンロードの開始が遅れる場合があるため、必要な場合にのみ行います。
SoundLoaderContext.checkPolicyFile を true に設定して Sound.load() を呼び出すと、Flash Player は、関連するクロスドメインポリシーファイルを正常にダウンロードするか、指定されたサウンドのダウンロードを開始する前に、そのようなポリシーファイルが存在しないことを判別する必要があります。ポリシーファイルの存在を確認するため、Flash Player は次のアクションをこの順番で実行します。
Security.loadPolicyFile() の呼び出しで指定された保留されているポリシーファイルをダウンロードしようとします。URLRequest.url と同じサーバーの /crossdomain.xml です。サウンドの URL は Sound.load() または Sound コンストラクタに渡される URLRequest オブジェクトの url プロパティで指定します。どのような場合でも、Flash Player では、適切なポリシーファイルがサウンドのサーバー上に存在しており、ポリシーファイルの場所に応じて URLRequest.url にあるサウンドファイルへのアクセスが提供され、<allow-access-from> タグに応じて呼び出し元 SWF ファイルのドメインによるアクセスが許可されている必要があります。
checkPolicyFile を true に設定した場合、Flash Player はサウンドをロードする前に、ポリシーファイルが検証されるまで待機します。Sound オブジェクトから progress イベントおよび complete イベントが送出されるまで、Sound.id3 の呼び出しまたは SoundMixer.computeSpectrum() の呼び出しなど、サウンドデータに対する低レベルの操作を実行するのを待つ必要があります。
checkPolicyFile を true に設定していても、適切なポリシーファイルが見つからない場合は、ポリシーファイルを必要とする操作を実行するまでエラーが表示されません。ポリシーファイルが必要になると、Flash Player は SecurityError 例外をスローします。complete イベントを受け取ると、try ブロック内の Sound.id3 の値を取得して SecurityError がスローされたかどうかを確認し、関連するポリシーファイルが見つかったかどうかをテストできます。
サーバーサイド HTTP リダイレクトを使用する URL からサウンドをダウンロードする場合は、checkPolicyFile に注意してください。Flash Player は、Sound.load() に渡される URLRequest オブジェクトの url プロパティに対応するポリシーファイルを取得しようとします。最終的なサウンドファイルが HTTP リダイレクトによって別の URL から取得される場合、最初にダウンロードされたポリシーファイルはサウンドの最終的な URL に適用できないことがあります。そのため、URL はセキュリティ判定において重要です。
このような状況になった場合の解決方法が 1 つあります。progress イベントまたは complete イベントを受け取った後、Sound.url プロパティの値を調べることができます。ここには、サウンドの最終的な URL が格納されています。次に、サウンドの最終的な URL に基づいて算出したポリシーファイルの URL で Security.loadPolicyFile() メソッドを呼び出します。最後に、例外がスローされなくなるまで Sound.id3 の値をポーリングします。
ポリシーファイルの詳細については、『ActionScript 3.0 のプログラミング』の「Flash Player セキュリティ」の章を参照してください。
関連項目
| SoundLoaderContext | () | コンストラクタ |
public 関数 SoundLoaderContext(bufferTime:Number = 1000, checkPolicyFile:Boolean = false)新しい ContextMenu オブジェクトを作成します。
パラメータbufferTime:Number (default = 1000) — サウンドのストリーミングを開始するまでに、バッファにストリーミングサウンドをプリロードする秒数です。
|
|
checkPolicyFile:Boolean (default = false) — オブジェクトをロードする際、Flash Player がクロスドメインポリシーファイルの存在を確認する (true) かどうかを指定します。
|