难题!用UILoader载入一个swf(有声音),即使unload();后还响!
难题!用UILoader载入一个swf(有声音),即使unload();后还响!把UILoader=null;强制回收都不行。只有关闭player才一切都安静下来!
请各位出高招吧,谢啦! 你說的是URLLoader吧
調用stop而且記得不用了要close掉。 不是URLLoader,是UILoader。 //显示视频
private function showV(e:MouseEvent):void
{
bingli_mc.video_mc.c_btn.addEventListener(MouseEvent.CLICK,closeV);
bingli_mc.video_mc.visible=true;traceSend(jianBie_list[1]);
bingli_mc.video_mc.vLoad_mc.source=jianBie_list[1];
bingli_mc.video_mc.vLoad_mc.scaleContent = false;
}
//关闭视频页面
private function closeV(e:MouseEvent):void
{
bingli_mc.video_mc.vLoad_mc.unload();
bingli_mc.video_mc.vLoad_mc.source=null;
bingli_mc.video_mc.visible=false;
}
就用的这两个函数,各位帮帮忙吧! 你音乐用的“事件”吧
那必须放完他才会休息的。。
换"数据流"吧。。 唉。。。。
SWF 里面的音乐 如果你是放在TIMELINE上的 同时你有通过 其他方式 去控制TIMELINE或者与之有关的任何元素
都有可能造成 其 处于疯狂状态 比如“ 根本不存在 音乐的关键帧在放音乐,莫名其妙 音乐反复重放”等等
解决的办法 忘掉所有 AS2时代的做法
如果是事件音 那么 帮上库中的 音乐对象
然后用AS 调用之(可以直接吧调用的 AS 写在TIMELINE上 这样音乐的MARK 点比较容易跟随动画一起调整)
如果你是一段SWF的动画并没有什么太多的 互动控制
那么 可能存在这样的问题
当你的SWF 被读取 开始播放以后 还没有跑完 SWF 被拿掉了
那么他可能还在继续播放(你如果是导入一个 FLV文件 EMBED 在SWF 里面 有音乐,那么出现这种情况也是正常,其实画面也在动 看不到而已)
解决的办法是 当这个对象被REMOVED的时候 让他自己STOP掉 不过你在TIMELINE上使用的必须是 STREAM音
最后,CLOSE 不CLOSE的 都不能有效解决类似的问题
如果你做的是类似MP3播放器 有加监听 那么必须 STOP 然后把监听 移除
注意:如果是读取的 哪怕你不要用了 也不要随便CLOSE
在LOADER 进程中的东西如果CLOSE 那么其实他并没有真的关闭下流 要等到他下完了 才会去考虑自己究竟应该不应该回收
在错误的时间CLOSE 会让他一直赖着不走。
这些本地 测试 都不会有什么感觉。
UILOADER 是一个比较装的 LOADER 组件
样貌丑陋 我并不喜欢用它
总结,解决的办法只有自己动脑子 反复测试了
理论上是 要的时候 LOAD 不要的时候 UNLOAD CLOSE 之类的
但是实际做起来 需求或者条件少有不同 就根本不是那么一回事情了。
页:
[1]