[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
サウンドファイルが非常に大きくて、ロードに時間がかかることがあります。サウンドが完全にロードされる前に、Flash Player および AIR でアプリケーションからそのサウンドを再生する場合、ロード済みになったサウンドデータの量および既に再生されたサウンドデータの量をユーザーに示すことができます。
Sound クラスは、サウンドのロードの進行状況を比較的簡単に表示できるようにする、ProgressEvent.PROGRESS および Event.COMPLETE という 2 つのイベントを送出します。次の例は、これらのイベントを使用して、サウンドのロードの進行状況に関する情報を表示する方法を示しています。
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.media.Sound;
import flash.net.URLRequest;
var s:Sound = new Sound();
s.addEventListener(ProgressEvent.PROGRESS, onLoadProgress);
s.addEventListener(Event.COMPLETE, onLoadComplete);
s.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
var req:URLRequest = new URLRequest("bigSound.mp3");
s.load(req);
function onLoadProgress(event:ProgressEvent):void
{
var loadedPct:uint = Math.round(100 * (event.bytesLoaded / event.bytesTotal));
trace("The sound is " + loadedPct + "% loaded.");
}
function onLoadComplete(event:Event):void
{
var localSound:Sound = event.target as Sound;
localSound.play();
}
function onIOError(event:IOErrorEvent)
{
trace("The sound could not be loaded: " + event.text);
}