Flash FLVPlayback和GET变量-运行时错误#1090

Flash FLVPlayback和GET变量-运行时错误#1090,flash,actionscript-3,Flash,Actionscript 3,易于复制: public function FLVTest() { var p:FLVPlayback = new FLVPlayback(); var url:String = "foo.flv"; p.source = url; } 这个很好用 但是通过这样做向url添加一些GET变量 var url:String = "foo.flv" + "?bar=123456789"; 。。。在运行时导致以下错误消息: 异常错误:T

易于复制:

    public function FLVTest() {
        var p:FLVPlayback = new FLVPlayback();
        var url:String = "foo.flv";
        p.source = url;
    }
这个很好用

但是通过这样做向url添加一些GET变量

var url:String = "foo.flv" + "?bar=123456789";
。。。在运行时导致以下错误消息:

异常错误:TypeError:错误#1090:XML解析器失败元素的格式不正确

我不喜欢这个错误的两个方面:

  • 我似乎在任何地方都抓不到它以便进一步调查
  • 我完全不知道这是什么意思。是的,我知道什么是格式错误的XML,但这与XML解析有什么关系

  • 希望有人能帮我。:-)

    FLVPlayback组件不允许在源中进行查询。根据您需要对该查询执行的操作,您可能能够在设置源之前对其进行解析。否则,您可能需要创建自己的视频播放器类来处理查询字符串。我确实找到了一个链接,可以引导您修改FLVPlayback源:


    我尚未对此进行测试,但看起来它可以解决问题。

    谢谢您的回答。看起来确实不错。我按照文章中的建议修改了NCManager类(实际上我实现了一个子类)。事实上,尽管源代码中有查询,MyNCManager还是会尝试打开http连接。但是什么也没发生,没有准备好的事件被触发。我添加了一个状态更改侦听器,事件被触发,event.STATE是VideoState.CONNECTION\u ERROR…这太糟糕了。我也有同样的问题。我猜我们不能使用老的querystring+随机查询技巧来确保浏览器没有缓存文件。
    at fl.video::SMILManager/http://www.adobe.com/2007/flash/flvplayback/internal::xmlLoadEventHandler()[D:\DEVELOP\test_lib\fl\video\SMILManager.as:240]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()