Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 播放声音,将url传递给flash_Actionscript 3 - Fatal编程技术网

Actionscript 3 播放声音,将url传递给flash

Actionscript 3 播放声音,将url传递给flash,actionscript-3,Actionscript 3,如果我有一个mp3的url,我可以通过某种方式将其传递给flash文件,以便它播放它吗?我怎样才能做到这一点?您可以通过设置flashvar设置在加载时将url传递到swf中。您可以通过两种方式设置FlashVar。。在嵌入代码中使用param元素,或者只需将它们附加到swf的url,结果是相同的 如果加载swf时不知道mp3 url,则必须使用ExternalInterface actionscript方法注册一些actionscript函数,以便可以从网页的javascript调用它们。所

如果我有一个mp3的url,我可以通过某种方式将其传递给flash文件,以便它播放它吗?我怎样才能做到这一点?

您可以通过设置flashvar设置在加载时将url传递到swf中。您可以通过两种方式设置FlashVar。。在嵌入代码中使用param元素,或者只需将它们附加到swf的url,结果是相同的

如果加载swf时不知道mp3 url,则必须使用ExternalInterface actionscript方法注册一些actionscript函数,以便可以从网页的javascript调用它们。所以在你的flash电影中你可以

function setSrc( mp3URL ) { ... }
function play(){ ... }
function stop(){ ... }
在外部接口中注册这些文件

ExternalInterface.addCallback( 'setSrc', setSrc ); 
ExternalInterface.addCallback( 'play', play ); 
ExternalInterface.addCallback( 'stop', stop ); 
现在您可以从javascript中使用它们。

下面是一个示例:

您可以将上述内容与的参数结合起来:这些是通过html传递的FlashVar或用于调用swf的url中的参数

参考资料中有很多很好的例子,我主要是通过和学习actionscript

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.net.URLRequest;

    public class SoundExample extends Sprite {
        private var url:String = "MySound.mp3";
        private var song:SoundChannel;

        public function SoundExample() {
            var request:URLRequest = new URLRequest(url);
            var soundFactory:Sound = new Sound();
            soundFactory.addEventListener(Event.COMPLETE, completeHandler);
            soundFactory.addEventListener(Event.ID3, id3Handler);
            soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            soundFactory.load(request);
            song = soundFactory.play();
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function id3Handler(event:Event):void {
            trace("id3Handler: " + event);
        }

        private function ioErrorHandler(event:Event):void {
            trace("ioErrorHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler: " + event);
        }
    }
}