小さな MP3 ファイルを再生し、30 回ループするシンプルなボタンがあります。MP3 はサーバー (urlMP3) からストリーミングされます。
私の Galaxy S2 では、30 ループごとにサーバーにアクセスしていることがわかります。ループするたびに MP3 をダウンロードしますか、それとも 1 回ダウンロードして電話のメモリから再生しますか?
//Button 'audioYes' to play audio loop x 30
var soundLoop:Sound = new Sound();
var soundChannel:SoundChannel;
var soundLoopUrl:URLRequest = new URLRequest(urlMP3);
audioYes.addEventListener(MouseEvent.CLICK, f2_MouseClickHandler);
function f2_MouseClickHandler(event:MouseEvent):void {
soundLoop.load(soundLoopUrl);
soundLoop.play(0, 30);
}
毎回ダウンロードする場合、一度ダウンロードしてから再生するにはどうすればよいでしょうか? ご協力いただきありがとうございます。
編集: 2012 年 9 月 1 日 シンプルなフラッシュ ファイルを作成し、@Rytis から提供された以下を追加しました。最後の行 this.mySound.play "Error #1009: Cannot access a property or method of a null object reference." というエラーが表示されます。私はそれで何をしますか?
import flash.media.Sound;
import flash.net.URLLoader;
import flash.display.Loader;
var mySound:Sound = new Sound();
var myurlLoader:URLLoader = new URLLoader();
myurlLoader.addEventListener(Event.COMPLETE, this.onSoundLoadComplete)
myurlLoader.load(new URLRequest("01.mp3"))
function onSoundLoadComplete(event:Event):void{
this.mySound = URLLoader(event.target).data as Sound;
this.mySound.play(0,30);
}