В этом коротком руководстве я познакомлю вас с ASAudio и библиотекой AS3, которая значительно сокращает объем кода, необходимого для создания и управления звуковыми объектами в ваших проектах ActionScript.
Шаг 1: Изучение ASAudio
ASAudio — это библиотека ActionScript 3, которая значительно сокращает объем кода, необходимого для создания и обработки (изменения громкости, панорамирования) аудиофайлов в ваших проектах ActionScript. Традиционно для загрузки, воспроизведения и изменения громкости звука в ActionScript необходимо выполнить следующие действия:
1
2
3
4
5
6
|
var urlRequest:URLRequest = new URLRequest(«path/to/track.mp3»);
var sound:Sound = new Sound(urlRequest);
var soundChannel:SoundChannel = sound.play();
var soundTrans:SoundTransform = soundChannel.soundTransform;
soundTrans.volume = .5;
soundChannel.soundTransform = soundTrans;
|
С ASAudio все, что вам нужно сделать, это следующее
1
2
3
|
var track:Track = new Track(«path/to/track.mp3»);
track.start();
track.volume = .5;
|
Шаг 2: Получение библиотеки
Перейдите на страницу Google Code проекта и загрузите последнюю версию ASAudio.
Как только вы загрузили его, извлеките его и скопируйте папку «com», которая находится внутри папки «src», в папку, где вы будете создавать проект ActionScript.
Шаг 3: Новый проект ActionScript
Запустите новый проект ActionScript и сохраните его в папке проекта как «asAudio.fla». Под панелью «СВОЙСТВА» установите цвет сцены на белый и присвойте ему ширину и высоту 500×150 пикселей.
Теперь создайте новый файл ActionScript и сохраните его как «Main.as». Установите это как ваш Класс документа .
Шаг 5: Импорт и функция конструктора
Добавьте следующее к «Main.as», который вы создали на шаге выше.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
package {
import flash.display.Sprite;
import com.neriksworkshop.lib.ASaudio.*;
import flash.media.Sound;
import flash.events.MouseEvent;
import flash.events.Event;
public class Main extends Sprite {
public function Main() {
trace(«Working»);
}
}
}
|
Здесь мы импортируем классы, которые нам понадобятся в этом уроке, и настраиваем наш конструктор Main()
.
Шаг 6: Отслеживание
Track
является основным классом ASAudio. Все, что вы делаете с библиотекой, зависит от Track
. На этом этапе мы создадим новый Track
и воспроизведем его. Введите следующий код над Main()
в «Main.as».
1
|
var track:Track = new Track(«BoozeandBlues.mp3»);
|
И следующее в конструкторе Main()
.
1
2
3
|
public function Main() {
track.start();
}
|
Для создания Track
вы переходите в путь к mp3. Затем мы вызываем метод start()
для Track
внутри Main()
.
Если вы тестируете сейчас, вы должны услышать воспроизведение mp3.
Шаг 7: Настройка интерфейса
На этом этапе мы настроим интерфейс для проекта, чтобы мы могли контролировать наши Track
.
Из окна компонентов перетащите 4 кнопки и ползунок на сцену. Вы можете попасть в окно компонентов, выбрав «Окно»> «Компоненты» или нажав CTRL + F7.
Дайте кнопкам следующие свойства, одно за другим.
- X: 21,00, Y: 61,00, ярлык: «Play TracK», имя экземпляра: «playTrackBtn»
- X: 175,00, Y: 61,00, ярлык: «Play Group», имя экземпляра «playGroupBtn»
- X: 333,00, Y: 61,00, ярлык: «Play Playlist», имя экземпляра «playListBtn»
- X: 21,00, Y: 100,00, метка: «Stop Track», имя экземпляра «stopTrackBtn»
Вот скриншот настройки первой кнопки.
Дайте ползунку следующие свойства.
- X: 21,00, Y: 29,00, имя экземпляра: «trackSlider»
- максимум: 1
- минимум: 0,1
- snapInterval: 0,1
- tickInterval: 0,1
- значение: 1
- liveDragging: «Убедитесь, что это проверено»
Здесь мы устанавливаем некоторые начальные значения для слайдера. Я не буду на них останавливаться, так как вы можете обратиться к моему « Краткому совету» , посвященному функциональности ползунков.
Шаг 8: Управление треком
На этом шаге мы будем кодировать функции запуска, остановки и громкости для дорожки, которую мы создали на предыдущем шаге. Добавьте следующее в «Main.as».
01
02
03
04
05
06
07
08
09
10
11
|
public function Main() {
addListeners();
}
private function addListeners():void{
trackSlider.enabled = false;
playTrackBtn.addEventListener(MouseEvent.CLICK,playTrack);
stopTrackBtn.addEventListener(MouseEvent.CLICK,stopTrack);
trackSlider.addEventListener(Event.CHANGE,adjustTrackVolume);
}
|
Здесь мы вызываем addListeners()
в нашем конструкторе Main()
. Внутри addListeners
мы устанавливаем отключение trackSlider
и добавляем Listeners к 3 нашим кнопкам.
Шаг 9: playTrack()
Функция playTrack()
сообщит, что трек должен начать воспроизведение. Добавьте следующее ниже функции addListeners()
вы создали в addListeners()
шаге.
1
2
3
4
5
|
private function playTrack(e:MouseEvent):void{
trackSlider.enabled = true;
track.start();
track.volume = 1.0;
}
|
Здесь мы trackSlider
воспроизведения Track
с помощью метода start()
и устанавливаем громкость трека с помощью свойства volume.
Шаг 10: stopTrack()
Функция stopTrack()
будет использоваться для остановки Track
. Добавьте следующее ниже функции playTrack()
вы добавили в playTrack()
шаге.
1
2
3
|
private function stopTrack(e:MouseEvent):void{
track.stop();
}
|
Здесь мы просто вызываем метод stop()
на Track
.
Шаг 11: adjustTrackVolume()
Функция adjustTrackVolume()
будет использоваться для регулировки громкости Track
. Добавьте следующее ниже функции stopTrack()
вы создали в stopTrack()
шаге.
1
2
3
|
private function adjustTrackVolume(e:Event):void{
track.volume = e.target.value;
}
|
Здесь мы устанавливаем громкость трека, равную свойству value
ползунков. Поскольку мы установили максимум на 1, а минимум на 0,1, это всегда будет число от 0,1 до 1,0, увеличенное на 10. т. е. 0,1, 0,4 и т. д.
Если вы сейчас тестируете фильм, вы сможете воспроизводить, останавливать и регулировать громкость Track
.
Шаг 12: Группы
Возможно, вам было интересно, для чего нужна кнопка «Play Group»? Ну, наряду с предложением базового базового Track
ASAudio имеет понятие «Группы», которое позволяет объединять звуки вместе и воспроизводить их одновременно. Добавьте следующее в addListeners()
вы создали в addListeners()
шаге.
1
2
3
4
5
6
7
|
private function addListeners():void{
trackSlider.enabled = false;
playTrackBtn.addEventListener(MouseEvent.CLICK,playTrack);
stopTrackBtn.addEventListener(MouseEvent.CLICK,stopTrack);
trackSlider.addEventListener(Event.CHANGE,adjustTrackVolume);
playGroupBtn.addEventListener(MouseEvent.CLICK,playGroup);
}
|
Здесь мы добавляем Listener к нашему playGroupBtn
который будет вызывать playGroup()
. Мы закодируем это дальше.
Шаг 13: playGroup()
Добавьте следующее ниже функции adjustTrackVolume()
вы создали на предыдущем шаге.
1
2
3
4
|
private function playGroup(e:Event):void{
var group:Group = new Group( [new Track(«piano.mp3»), new Track(«drumbeat.mp3»)] );
group.start();
}
|
Здесь мы создаем новую Group
, передавая массив треков. Затем мы вызываем метод start()
который сообщает Group
начать игру.
Если вы тестируете сейчас, вы должны услышать, как «piano.mp3» и «drumbeat.mp3» играют одновременно.
Шаг 14: Плейлист
Наряду с предложением Group
, ASAudio имеет понятие PlayList
. PlayList
похож на плейлист на MP3-плеере. Вы «ставите в очередь» песни, и когда одна из них заканчивается, она переходит к следующей. Добавьте следующее в функцию addListeners
.
1
2
3
4
5
|
private function playPlayList(e:Event):void{
var playList:Playlist = new Playlist( [new Track(«piano.mp3»), new Track(«drumbeat.mp3»)] );
playList.loop = false;
playList.start();
}
|
Как и Group
мы создаем новый PlayList
, передавая массив треков. Мы устанавливаем PlayList
не зацикливаться и вызываем метод start()
.
Теперь вы можете проверить и увидеть PlayList
в действии.
Вывод
Вы узнали об ASAudio и увидели, как он может значительно сократить объем кода, необходимого для создания аудио в ваших проектах ActionScript. Эта библиотека может предложить больше, включая методы fade, pause и mute … Я предлагаю вам просмотреть документацию, чтобы увидеть все, что доступно. Я надеюсь, что вы нашли это полезным и спасибо за чтение!