Флэш-кнопка воспроизведения / паузы звука - PullRequest
0 голосов
/ 11 сентября 2010

Я гуглил и гуглял, но не получил ни где, ни устаревшие учебники.Кто-нибудь знает, как сделать так, чтобы я мог переключать звук с помощью кнопок с помощью ActionScript 3 на Flash?

Ответы [ 2 ]

5 голосов
/ 11 сентября 2010

Для переключения воспроизведения / паузы вам необходимо записать положение, в котором пользователь приостановил воспроизведение звука.

Чтобы использовать звук из библиотеки, как на скриншоте, вам нужно сделать этот звуковой файл доступным для вашего ActionScript.

Во-первых, щелкните правой кнопкой мыши звуковой файл в вашей библиотеке и нажмите Properties.... Внутри окна свойств установите флажок Export for Actionscript. Измените имя класса на что-то свое, например MySong.

Теперь внутри вашего кода вместо указания на внешний звуковой файл вы сделаете mySound экземпляром MySong.

var isPlaying:Boolean;
var pausePosition:Number;
var myChannel:SoundChannel = new SoundChannel();
// edited mySound to use an internal sound file with Class of MySong
var mySound:Sound = new MySong();
var myButton:MovieClip;

myButton.addEventListener(MouseEvent.CLICK, playPauseClicked);

myChannel = mySound.play();
isPlaying = true;

function playPauseClicked(e:MouseEvent):void
{
    if (isPlaying) {
        pausePosition = myChannel.position;
        myChannel.stop();
        isPlaying = false;
        // change the display of your button to show the pause state
    } else {
        myChannel = mySound.play(pausePosition);
        isPlaying = true;
        // change the display of your button to show the playing state
    }
}

Для использования внешнего файла

Вам потребуется использовать класс URLRequest, чтобы указать, где находится mp3-файл. Если файл находится в том же каталоге, что и опубликованный вами файл SWF, он будет выглядеть следующим образом.

var mySound:Sound = new Sound(new URLRequest("whatever.mp3"));
0 голосов
/ 11 сентября 2010

Вам необходимо использовать SoundTransform (flash.media) и SoundChannel (flash.media).

var mySound:Sound = new Sound(req);
var mySC:SoundChannel = mySound.play(1);
var myST:SoundTransform = mySC.soundTransform;
myST.volume = 0; // To mute
myST.volume = 1; // To unmute
mySC.soundTransform = myST;

При этом используется свойство soundTransform SoundChannel, которое позволяет, помимо прочего, управлятьобъем.Помните, что вы должны оставить mySound и mySC, тогда как myST будет просто переменной, созданной, например, в функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...