簡體   English   中英

AS3代碼-聲音未播放

[英]AS3 Code - Sound not playing

我正在嘗試使用外部mp3文件以as3代碼播放聲音。

所以這是我正在使用的代碼:

    private function playSound():void
    {
        trace("loading sound");
        var mySound:Sound = new Sound();
        mySound.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
        mySound.load(new URLRequest("Menu.mp3"));
        mySound.play();
        trace("playing sound");
    }

    private function handleIOError(evt:IOErrorEvent):void
    {
        //handle error if needed
    }

音樂根本不播放。

出現痕跡“加載聲音”和“播放聲音”,因此正在運行代碼。

mp3文件Menu.mp3與用於運行項目的.fla文件位於同一文件夾中。 這是正確的目錄嗎? 我嘗試過移動它,但是仍然無法播放聲音。

任何幫助將不勝感激,謝謝!

我有一些建議可能會有所幫助:

  1. 將mySound聲明為類級別的屬性。 垃圾收集器可能是過早處理的,因為它是局部的。

  2. mySound.play()返回一個SoundChannel對象。 嘗試將其存儲在類級別的屬性中。

  3. 在加載聲音之前,將事件偵聽器添加到Event.COMPLETE的聲音中。 發生此事件后,嘗試播放聲音。 實際上,您可能正在嘗試在聲音加載之前播放聲音。

private var mySound:Sound;
    private var mySoundChannel:SoundChannel;

    private function playSound():void
    {
        mySound = new Sound();
        mySound.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
        mySound.addEventListener(Event.COMPLETE, handleLoadCompletion);
        mySound.load(new URLRequest("Menu.mp3"));
    }

    private function handleLoadCompletion(evt:Event):void
    {
        mySoundChannel = mySound.play();
    }

    private function handleIOError(evt:IOErrorEvent):void
    {
        //handle error if needed
    }

編輯:
在審查了文檔之后 ,我認為建議3是不必要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM