近期帮人调试一个flash,遇到很奇葩的事。
问题描述:左中右三个flash用animate输出的,我方三台电脑测试播放正常,到客户那里只有中间的播放正常。左右两边同时出现循环回放。看了下源文件,里边只有简单的代码:stop();首先,考虑是不是MC的问题,做了以下处理:将mc中的视频拿到场景中。尾部打上关键帧写上stop();测试正常,到客户那里还是循环。后面又做了很多测试,重写代码,重制MC低版本输出(cs6.0)等,均无效。百思不得其解。因为同样的flash中间那个正常,左右两边不正常。问了下客户播放器版本回复:11.2;于是又测试了相同版本播放器,还是这边正常那边循环。因为本地无法重现客户那边的循环,决定去现场排查。事先做了几个测试文件,并带了9/11.2/17版本的播放器,因为flash中只有简单的stop();所以当时没考虑代码版本问题。但还是输出了一个AS2.0的文件做测试。结果其他的都循环,唯独这个AS2.0的正常。后跟工作人员沟通了解他们是3台电脑同时播放,中间的那个系统做过升级,左右没升级过(flashplayer应该是低于9。。这个真是醉了)
结论:flashplayer8及8以下版本的播放器不支持AS3.0哪怕是像stop();这样简单的代码也会失效。