缓存声音资源

发布于 2024-11-28 11:32:56 字数 1473 浏览 6 评论 0原文

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

How would i go about caching sound assets in Flex, I load the sounds for play via:

            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();
        }

I am on the playbook, so I can save it in a directory, put it in as a BLOB on SQLite (seems like a terrible idea) - Ideas would be much appreciate.

Also want to thank all the people here who have been taking the time to teach me Flex :) - you guys are better than the book I spent money on!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文