我试图弄清楚如何清除消息错误以及造成此错误的原因。
我创建了一个代码,用于加载要在Flash上播放的外部vdo。在“ ActionScript ”面板中进行编码很不错,因此我尝试将其作为一个类。我移动了所有代码并将其放在一个类中,它也可以正常工作。但是,错误消息出现了!即使文件可以正确播放。
错误提示:
这是我的代码
package {
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.media.Video;
public class vdoloader extends Sprite {
var video;
var nc;
var ns;
public function vdoloader() {
// constructor code
nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
ns.client=this;
video = new Video(550,400);
addChild (video);
video.attachNetStream(ns);
ns.play("westler.flv");
}
}
}
然后,我尝试在
vdoloader()
中放入一些内容,内容类似于:“预期为1,得到0。” 最佳答案
正是这样-您没有通过实现onMetaData函数来处理元数据事件。播放器的客户端是“this”,因此您应该在类中具有onMetaData公共(public)函数。
请哦,请为您的类(class)名称使用大写的首字母...
编辑:
在您的代码中,您将this
分配为netstream的客户端(来源:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html):
因此,现在您只需要创建一个onMetaData(md:Object)函数即可处理同一类中的事件,即vdoloader(this作为客户端传递时)。您可以检查文档如何操作:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#event:onMetaData。我认为Lee Brimelow在他的站点http://www.gotoandlearn.com上有关于此的教程。 (对此我不确定,但是如果您有兴趣,我想值得尝试)
关于actionscript-3 - 错误消息,要求在加载外部vdo BUT时要求属性onMetaData,vdo仍可以播放,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20117257/