AS3通过字符串加载新的URLRequest

时间:2013-06-14 16:16:07

标签: string actionscript-3 url

每次按下按钮,我都想加载一个新的URL(在数组中)。我有以下代码:

    public function selectRadio(radio:Radio):void {
        var soundR:Sound = new Sound(); 

        if(!playing) {
            soundR.load(new URLRequest(radio.getURL()));
            soundChannel = soundR.play();
            playing = true;
        }
        else{
            soundChannel.stop();
            playing = false;
        }

        trace("You are now listening to " + radio.getTitle());
    }

但它给了我这个错误: “将flash.net:URLRequest类型的值隐式强制转换为不相关的类型字符串”

如果我这样离开它就可以了:

soundR.load(radio.getURL());

但如果我这样做,我只能按下播放并停止4次。在第四个之后没有声音,就像它无法加载URL一样。

有可能解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

Radio.getURL()应该返回一个字符串而不是一个URLRequest?

啊没关系我看到你试图通过删除URLRequest来避免这种情况,但是你只遇到了4个连接的问题。

  

除了最简单的情况之外,您的应用程序应该注意声音的加载进度并在加载过程中注意错误。例如,如果单击声音相当大,则在用户单击触发声音的按钮时可能无法完全加载。尝试播放未加载的声音可能会导致运行时错误。在让用户采取可能会开始播放声音的操作之前,等待声音完全加载会更安全。

http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d25.html

如果您无法等待声音完全加载,则可能需要NetStream: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html