Пакет | flash.events |
Класс | public class SampleDataEvent |
Наследование | SampleDataEvent ![]() ![]() |
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Используйте это событие для управления динамически создаваемыми аудиоданными. В данной среде объект Sound на самом деле не содержит звуковых данных. Вместо этого он выполняет функцию сокета для потока звуковых данных, направляемых ему при помощи функции, назначенной для этого события.
В функции используется метод ByteArray.writeFloat()
для записи в объект ByteArray (event.data
), который содержит отобранные для воспроизведения данные.
При вызове Sound.play()
проигрыватель посылает вызов обработчику событий, запрашивая блоки данных, содержащие звуковые данные. Проигрыватель продолжает отправлять события в течение воспроизведения звука до прекращения поступления данных или до вызова метода SoundChannel.stop()
.
Время ожидания события варьируется от платформы к платформе и может измениться в будущих версиях Flash Player. Рекомендуется вычислять время ожидания, а не полагаться на указанную величину. Для вычисления времени ожидания в ActionScript используйте формулу: ((SampleDataEvent.position/44.1) — SoundChannelObject.position)
.
Укажите от 2048 до 8192 образцов данных для объекта SampleDataEvent
. Для лучшей производительности укажите как можно больше образцов. Чем меньше образцов вы укажете, тем больше вероятность возникновения звуковых помех во время воспроизведения. Однако этот принцип действует по-разному на разных платформах, и помехи могут возникнуть в различных ситуациях, например при изменении размера обозревателя. Вы можете написать код, который будет работать на одной платформе с 2048 образцами, но это не значит, что этот код будет работать так же хорошо на другой платформе. Если вам требуется как можно меньший период ожидания, предоставьте пользователям возможность выбирать объем данных.
Если указать менее 2048 образцов, Flash Player воспроизведет оставшиеся образцы и остановит звук, как-будто был достигнут конец аудиофайла, создав событие SoundComplete.
Можно также использовать метод Sound.extract()
для извлечения данных из объекта Sound, которые потом можно записать в динамический поток для воспроизведения.
При использовании данного события с объектом Sound единственными другими доступными методами Sound являются Sound.extract()
и Sound.play()
. Вызов любых других методов или свойств приводит к возникновению исключения "недопустимый вызов". Все методы и свойства объекта SoundChannel остаются доступными.
См. также
Свойство | Определено | ||
---|---|---|---|
![]() | bubbles : Boolean [только для чтения]
Определяет, является ли событие "событием на цепочке". | Event | |
![]() | cancelable : Boolean [только для чтения]
Определяет, можно ли отключить поведение, связанное с событием. | Event | |
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
![]() | currentTarget : Object [только для чтения]
Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. | Event | |
data : ByteArray
Данные в аудиопотоке. | SampleDataEvent | ||
![]() | eventPhase : uint [только для чтения]
Текущая фаза в потоке событий. | Event | |
position : Number
Положение данных в аудиопотоке. | SampleDataEvent | ||
![]() | prototype : Object [статические]
Ссылка на модель объекта класса или функции. | Object | |
![]() | target : Object [только для чтения]
Целевой объект события. | Event | |
![]() | type : String [только для чтения]
Тип события. | Event |
Метод | Определено | ||
---|---|---|---|
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Создает объект Event, содержащий информацию о событиях аудиоданных. | SampleDataEvent | ||
Создает копию объекта SampleDataEvent и задает значение каждого свойства, совпадающее с оригиналом. | SampleDataEvent | ||
![]() |
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event. | Event | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Проверяет, выполнялся ли для события вызова метода preventDefault(). | Event | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Отменяет поведение по умолчанию для события, если такое поведение можно отменить. | Event | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Отменяет обработку прослушивателей событий в текущем узле, а также во всех узлах, которые следуют в потоке событий за текущим узлом. | Event | |
![]() |
Отменяет обработку прослушивателей событий в узлах, которые следуют в потоке событий за текущим узлом. | Event | |
Возвращает строку, содержащую все свойства объекта SampleDataEvent. | SampleDataEvent | ||
![]() |
Возвращает элементарное значение заданного объекта. | Object |
data | свойство |
data:ByteArray
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Данные в аудиопотоке.
public function get data():ByteArray
public function set data(value:ByteArray):void
position | свойство |
position:Number
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Положение данных в аудиопотоке.
public function get position():Number
public function set position(value:Number):void
SampleDataEvent | () | Конструктор |
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Создает объект Event, содержащий информацию о событиях аудиоданных. Объекты Event передаются прослушивателям событий в качестве параметров.
Параметрыtype:String — Тип события. Этим значением является: Event.SAMPLE_DATA .
| |
bubbles:Boolean (default = false ) — Определяет, участвует ли объект Event на этапе восходящей цепочки процесса события.
| |
cancelable:Boolean (default = false ) — Определяет, можно ли отменить объект Event.
| |
theposition:Number (default = 0 ) — Положение данных в аудиопотоке.
| |
thedata:ByteArray (default = null ) — Массив байт данных.
|
clone | () | метод |
override public function clone():Event
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Создает копию объекта SampleDataEvent и задает значение каждого свойства, совпадающее с оригиналом.
ВозвращаетEvent — Новый объект SampleDataEvent, значения свойств которого соответствуют значениям оригинала.
|
toString | () | метод |
override public function toString():String
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает строку, содержащую все свойства объекта SampleDataEvent. Строка имеет следующий формат:
[SampleDataEvent type=значение bubbles=значение cancelable=значение theposition=значение thedata=значение]
String — Строка, содержащая все свойства объекта SampleDataEvent .
|
var mySound:Sound = new Sound(); function sineWaveGenerator(event:SampleDataEvent):void { for ( var c:int=0; c<8192; c++ ) { event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); } } mySound.addEventListener(Event.SAMPLE_DATA,sineWaveGenerator); mySound.play();