English 中文(简体)
我如何静默地把电影带上音响。
原标题:How do I silently preload a movie clip with sound?

我正在撰写一份SAP3节目,并想要预先装上今后所需的电影剪辑。 不幸的是,我陷入了一个问题:电影剪辑一旦装满,就能够发挥声(在我加入之前)。

装满 几乎<>>>> /em>的电影剪辑解决了这一问题,但有时我仍然听说这片片片的开端。 很显然,单单上没有等到完成的活动处理员才开始......?

// example of stopping a clip after it is loaded
// sound may still be heard for a moment
var loader: Loader = new Loader();
loader.addEventListener(Event.COMPLETE, function(e : *) : void {
    (loader.contentLoaderInfo.content as MovieClip).stop();
});
loader.load("a_loud_movie_clip.swf");

我也认为,在装上单壳时,一切都会变换,但这在何时能起音响方面,对方案的其他部分构成了严重的限制。

这一问题是否有标准的解决办法? 我认为,这是一个非常常见的问题。

最佳回答

您的顶点是否是因为您的SWF位于一个网络服务器上? 如果是,一种选择是,在不使用的情况下,先从服务器上卸货。 之后,当你需要展示电影剪辑时,用,实际瞬息播下电影剪辑(并开始游戏、声音和全部)。 瞬时可能出现小差,但远低于没有上载。

www.un.org/spanish/ecosoc 您对装载者类型表示怀疑。 页: 1

package
{
  import flash.display.Sprite;
  import flash.display.Loader;
  import flash.display.Bitmap;
  import flash.display.MovieClip;
  import flash.events.Event;
  import flash.utils.ByteArray;
  import flash.utils.getQualifiedClassName;

  public class tst extends Sprite
  {
    [Embed(source="any_image.png", mimeType="application/octet-stream")]
      private var img_bytes:Class;

    [Embed(source="any_swf.swf", mimeType="application/octet-stream")]
      private var swf_bytes:Class;


    public function tst():void
    {
      var b1:ByteArray = new img_bytes();
      var l1:Loader = new Loader();
      l1.contentLoaderInfo.addEventListener(Event.COMPLETE, function():void {
        trace(getQualifiedClassName(l1.content));
        trace(l1.content is Bitmap);
      });
      l1.loadBytes(b1);

      var b2:ByteArray = new swf_bytes();
      var l2:Loader = new Loader();
      l2.contentLoaderInfo.addEventListener(Event.COMPLETE, function():void {
        trace(getQualifiedClassName(l2.content));
        trace(l2.content is MovieClip);
      });
      l2.loadBytes(b2);

    }
  }
}

(注:这只是示范性法典——DO NOT加上功能关闭的听众,将造成记忆泄露。) 我也绕过了URLLoader,简单地把我带走,但是,他们还是用同样的手法。

产出是:

flash.display::Bitmap
true
test_fla::MainTimeline
true

然而,Bitmap和Clip是装载商的唯一选择。 内容——装上从代码上编成的SWF,可以来自Sprite,并可显示完全合格的类别名称,但如www0z0k所指出,它们从显示Object中摘取。 尽管我认为闪电专业人员的任何SWF产出总是来自电影剪辑。

www.un.org/spanish/ecosoc 请注意,tes素总是为电影剪辑。

这转而 you你——一个装着固定旧形象的洛纳德人,即LeladerInfo.bytes人的财产含有一个生成的SWF的 by子,这是一个带有儿童形象的简单电影剪辑。 谁会gues?

  var l3:Loader = new Loader();
  l3.contentLoaderInfo.addEventListener(Event.COMPLETE, function():void {
    trace("- l3:");
    trace(getQualifiedClassName(l3.content));
    trace(l3.content is Bitmap);

    // This ByteArray is a SWF!
    var b3:ByteArray = l3.contentLoaderInfo.bytes;

    var l4:Loader = new Loader();
    l4.contentLoaderInfo.addEventListener(Event.COMPLETE, function():void {
      trace("- l4:");
      trace(getQualifiedClassName(l4.content));
      trace(l4.content is Bitmap);
      trace(Object(l4.content).getChildAt(0) is Bitmap);
    });
    l4.loadBytes(b3);
    addChild(l4);

  });
  l3.load(new URLRequest("any_image.png"));

产出是:

- l3:
flash.display::Bitmap
true
- l4:
flash.display::MovieClip
false
true
问题回答

暂无回答




相关问题
Playing a Sound With Monotouch

No matter what I try (build -> content, NSUrl, filename) I get a null exception : file not found when I try to play a .caf sound file in monotouch. //var path = NSBundle.MainBundle.PathForResource("...

将音频Clips从Peter改为服务器

我不禁要问,那里是否有任何实例表明从Peit向服务器发送音响。 I m不关心电话或SIP风格的解决办法,只是一个简单的袖珍流程......

Play sound in iPhone web app with Javascript?

I m currently creating an iPhone web application for piano chords, and I wanted to add an option that would let the user press a Play button and play the selected chord. However, I m not sure how to ...