1

我将如何在 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 的人 :) - 你们比我花钱买的书要好!

4

0 回答 0