我将如何在 Flex 中缓存声音资产,我通过以下方式加载声音以供播放:
private function set_streamingMedia(mediaURL:String) : void {
var req:URLRequest = new URLRequest(mediaURL);
if (streamChannel) {
streamChannel.stop()
}
auth_play(req);
}
private function auth_play(reqestURL:URLRequest) : void {
stream = new Sound();
var credsHeader:URLRequestHeader = new URLRequestHeader("Authorization", "Basic " + credentials);
reqestURL.requestHeaders.push(credsHeader);
var context:SoundLoaderContext = new SoundLoaderContext(1000, true);
stream.load(reqestURL, context);
timer = new Timer(100);
timer.addEventListener(TimerEvent.TIMER, mediaPositionChange);
play();
}
private function play():void{
if(isPaused){
streamChannel = stream.play(trackPosition);
timer.start();
isPaused = false;
}
else{
if (streamChannel) {
stop();
}
streamChannel = stream.play();
timer.start();
isPaused = false;
}
ChangeVolume();
}
我在剧本上,所以我可以将它保存在一个目录中,将其作为 SQLite 上的 BLOB 放入(似乎是一个糟糕的主意) - 非常感谢你的想法。
还要感谢这里所有花时间教我 Flex 的人 :) - 你们比我花钱买的书要好!