Внимание! Ваш Flash Player должен быть не ниже 10.1 версии! В противном случае, вы просто ничего не услышите.
Класс MP3Pitch - это миниатюрный класс на ActionScript 3.0 от Andre Michelle. MP3Pitch умеет загружать и воспроизводить внешний mp3-файл. Но, самое главное, этот класс умеет изменять скорость воспроизведения mp3-файлов. В этом и состоит его основное назначение. Впрочем, лучше один раз услышать... Слушаем:
Класс MP3Pitch прост в использовании. Смотрите сами...
Код ActionScript 3.0:
/*
подключение класса
*/
import MP3Pitch;
/*
создаём объект, подгружаем и воспроизводим файл lenin.mp3
*/
var snd:MP3Pitch = new MP3Pitch("lenin.mp3");
/*
получаем значение скорости воспроизведения mp3-файла
*/
trace(snd.rate)
/*
изменяем скорость воспроизведения mp3-файла
*/
snd.rate = 1.5;
В качестве параметра конструктору объектов надо передать адрес вашего mp3-файла. А для изменения скорости воспроизведения звука надо просто изменить значение свойства rate (по умолчанию оно имеет значение 1). Если значение меньше 1 (0.9, 0.8, 0.7 и т.д.), то звук начинает воспроизводится медленнее. Если значение больше 1 (1.1, 1.2, 1.3 и т.д.), то воспроизведение звука ускоряется. Причём значение свойства rate можно изменять и в процессе воспроизведения звукового файла. Именно так и сделано в следующем флеш-ролике:
Откровенно говоря, я даже не знаю, где данный класс может пригодится в его первоначальном виде. Но, возможно, он может оказаться полезным при реализации каких-либо звуковых эффектов в флеш-приложениях.
Исходник под Adobe Flash CS5.5 и сам класс MP3Pitch скачать можно здесь.
var getMusic: URLRequest;
var music: Sound = new Sound();
var soundChannel: SoundChannel;
var currentSound: Sound = music;
var pos: Number;
var currentIndex: Number = 0;
var songPlaying: Boolean = false;
var xml: XML;
var songlist: XMLList;
//load xml
var loader: URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, whenLoaded);
loader.load(new URLRequest("music.xml"));
function whenLoaded(e: Event): void {
xml = new XML(e.target.data);
songlist = xml.item;
getMusic = new URLRequest(songlist[0].@url);
music.load(getMusic);
soundChannel = music.play();
soundChannel.stop();
soundChannel.addEventListener(Event.SOUND_COMPLETE, nextSong);
}