【问题标题】:Playing successive wav sounds in as3在 as3 中播放连续的 wav 声音
【发布时间】:2012-09-22 05:58:50
【问题描述】:

我正在尝试以连续方式播放 AS3 外部 wav 声音。显而易见的方法是使用此算法: 1.播放声音1 2.当声音1完成后,播放声音2 等等

问题是我未能通过第 2 步(“当声音 1 完成时”部分)。

请只回答 wav 声音,不要回答 mp3。

这是我的代码:

package 
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.events.Event;
    import flash.utils.ByteArray;
    import flash.media.Sound;
    import org.as3wavsound.WavSound;
    import org.as3wavsound.WavSoundChannel;

    public final class Main extends Sprite
    {
        public final function Main():void
        {
            playB.addEventListener(MouseEvent.MOUSE_UP, loadWav);
        }

        private final function loadWav(e:MouseEvent):void
        {
            var urlRequest:URLRequest = new URLRequest('Phone.wav');
            var wav:URLLoader = new URLLoader();
            wav.dataFormat = 'binary';
            wav.load(urlRequest);
            wav.addEventListener(Event.COMPLETE, playWav);
        }

        private final function playWav(e:Event):void
        {
            var tts:WavSound = new WavSound(e.target.data as ByteArray);
            tts.play();
        }
    }
}

(当然这是第一步)

感谢

【问题讨论】:

    标签: actionscript-3 external wav


    【解决方案1】:

    尝试将您的声音放入从播放命令返回的 SoundChannel,然后监听完整事件:

    private final function playWav(e:Event):void
    {
        var tts:WavSound = new WavSound(e.target.data as ByteArray);
        var channel:WavSoundChannel = tts.play();
        channel.addEventListener(Event.SOUND_COMPLETE, completeHandler)
    }
    
    private function completeHandler(e:Event):void {
        //play next sound
    }
    

    【讨论】:

    • 没有真正的工作!告诉我错误:1136:参数数量不正确。预计 5。
    • 错误在第 32 行。我正在发送代码的最后一部分:31 private final function playWav(e:Event):void 32 { 31 var tts:WavSound = new WavSound(e. target.data 作为 ByteArray); 32 变种频道:WavSoundChannel = 新的 WavSoundChannel(); 33 频道 = tts.play(); 34 } 35 } 36} 其余都一样
    • 您没有使用我的示例中显示的代码。您正在实例化 WavSoundChannel,但您不需要这样做。 play() 方法返回一个已经实例化的 WavSoundChannel
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多