flash中Sound对象在不同版本出现的问题

      flash杂项 2006-3-27 11:40

大家在 flashMX,flashMX2004,flash8中分别运行一下下面代码,看看出现什么不同的问题

  1. function testSound(sound_url) 
  2. {  
  3.     var my_sound = new Sound();  
  4.     my_sound.loadSound(sound_url, true);  
  5.     my_sound.onLoad = function(success)  
  6.     {  
  7.         if (success)  
  8.         {  
  9.             trace("ok");  
  10.         } else  
  11.         {  
  12.             trace("wrong");  
  13.         }  
  14.     };  
  15. }  
  16. testSound("a.mp3"

flashMX不输出'ok'但是声音开始播放,证明函数中声明的my_sound对象在函数执行完后没有在内存中删除

flashMX2004中不输出'ok'声音也不播放,我推测的结论是函数中声明的my_sound对象在函数执行完时他没有来得及加载就在内存中删除了。

flash8中输出'ok',但声音只播放一下就停了。我推测的结论是在flash8中Sound对象比别的版本加载声音都要快,意思是函数还没执行完 my_sound就加载播放了。但是函数执行完毕的时候my_sound对象被删除。

所以建议大家最好把sound对象当一个参数传给一个函数用,不要在函数里声明一个局部变量来用

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}