Звуки исчезают / исчезают с помощью ActionScript 3 - PullRequest
9 голосов
/ 06 октября 2010

Я пытаюсь сделать появление / исчезновение музыки в проекте Flash (CS5).Я импортировал звук в библиотеку, установил имя класса для «Экспорт для ActionScript» и пытался исчезнуть с помощью TweenLite / TweenMax, например:

var sound = new MySound();
sT = new SoundTransform(0.1);
sound.play(0,99999, c_sndEnvironment);
TweenLite.to(sound, 1, {volume: 1.0});

Но это просто не работает.Я попытался импортировать плагин громкости на TweenLite, и все еще ничего.Хотя я не получил никакой ошибки.

Я что-то не так делаю?

Плюс, есть ли хорошая (полная) библиотека AS3 для музыки?

Спасибо.:)

Ответы [ 3 ]

13 голосов
/ 06 октября 2010

Я использую TweenMax для этого, это довольно просто

var someSound:Sound = new Sound(new URLRequest(“MySound.mp3″));
var someChannel:SoundChannel = someSound.play(0, 99999);
TweenMax.to(someChannel, 1, {volume:0, onComplete:stopSound});

http://www.greensock.com/tweenmax/

5 голосов
/ 01 декабря 2011

PatrickS прав в том, что вам нужно настроить громкость SoundChannel, а не сам звук. TweenMax автоматически активирует VolumePlugin (вместе с несколькими другими), но вы можете сделать это вручную для TweenLite, например:

import com.greensock.*;
import com.greensock.plugins.*;
TweenPlugin.activate([VolumePlugin]); //only necessary once

var someChannel:SoundChannel = someSound.play(0, 99999);
TweenLite.from(someChannel, 1, {volume:0});

Что бы это ни стоило, вы также можете попробовать LoaderMax с классом MP3Loader, который облегчает работу с внешними звуками. У него есть собственное свойство «громкость», которое вы также можете анимировать. http://www.greensock.com/loadermax/

1 голос
/ 19 февраля 2013

извините, я немного странно себя чувствую в этих строках кода. Мой звук гаснет, и ты возвращаешься. после того, как звуковой канал на том же уровне, что и раньше, onComplete выполняется нормально. Есть идеи?

themeChannel = sndTheme.play(0, 99999); TweenLite.from(themeChannel, 2, {volume:0,onComplete:stopTheme});

// редактировать: я получил его, работая с объектом SoundTransform:

var themeTransform:SoundTransform = new SoundTransform(1);
themeChannel  = sndTheme.play(0, 99999, themeTransform);
TweenLite.from(themeTransform, 3, {volume:0,onUpdate:updateSound,onComplete:stopTheme});

function updateSound():void{
           themeChannel.soundTransform = themeTransform;
        }

благодаря: http://www.zedia.net/2008/fading-out-volume-using-tweenlite/

...