| Пакет | flash.events |
| Класс | public class SampleDataEvent |
| Наследование | SampleDataEvent Event Object |
| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Это событие может применяться двумя способами:
- для предоставления динамически создаваемых аудиоданных объекту Sound;
- для получения данных от объекта Microphone.
Динамическое создание аудио с помощью объекта Sound. Используйте событие sampleData для воспроизведения динамически создаваемого аудио. В данной среде объект Sound на самом деле не содержит звуковых данных. Вместо этого он выполняет функцию сокета для потока звуковых данных, направляемых ему при помощи функции, назначенной в качестве обработчика события sampleData.
В функции используется метод ByteArray.writeFloat() для записи в свойство data события, которое содержит отобранные для воспроизведения данные.
Если объект Sound не загрузил файл MP3, то при вызове его метода play() объект начинает отправлять события sampleData, запрашивая образцы звука. Объект Sound продолжает отправлять события в процессе воспроизведения звука, пока не прекращается передача данных или пока не будет вызван метод stop() объекта SoundChannel.
Время ожидания события варьируется от платформы к платформе и может измениться в будущих версиях Flash Player или AIR. Не следует привязывать программу к определенному времени ожидания. Вместо этого его следует вычислять по формуле ((SampleDataEvent.position/44.1) - SoundChannelObject.position).
Предоставьте от 2048 до 8192 образцов для свойства data объекта SampleDataEvent. Для лучшей производительности укажите как можно больше образцов. Чем меньше образцов вы укажете, тем больше вероятность возникновения звуковых помех во время воспроизведения. Однако этот принцип действует по-разному на разных платформах, и помехи могут возникнуть в различных ситуациях, например при изменении размера браузера. Вы можете написать код, который будет работать на одной платформе с 2048 образцами, но это не значит, что этот код будет работать так же хорошо на другой платформе. Если вам требуется как можно меньший период ожидания, предоставьте пользователям возможность выбирать объем данных.
Если указать менее 2048 образцов, объект Sound воспроизведет оставшиеся образцы и остановит звук, как будто был достигнут конец аудиофайла, создав событие complete
С помощью метода extract() объекта Sound можно извлечь его аудиоданные, которые затем можно записать в динамический поток для воспроизведения.
При использовании прослушивателя события sampleData с объектом Sound единственными доступными методами класса Sound являются extract() и play(). Вызов любых других методов или свойств приводит к возникновению исключения «недопустимый вызов». Все методы и свойства объекта SoundChannel остаются доступными.
Захват аудио из объекта Microphone Используйте событие sampleData для захвата аудиоданных с микрофона. При добавлении прослушивателя для события sampleData объект Microphone отправляет это событие, когда становятся доступны образцы звука.
В функции обработчика событий следует использовать метод ByteArray.readFloat() для чтения свойства data, содержащего данные образца. Событие будет содержать несколько образцов, поэтому следует использовать цикл while для чтения доступных данных.
var soundBytes:ByteArray = new ByteArray();
while(event.data.bytesAvailable)
{
var sample:Number = event.data.readFloat();
soundBytes.writeFloat(sample);
}Дополнительно
Связанные элементы API
| Свойство | Определено | ||
|---|---|---|---|
![]() | 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)
Создает объект события, содержащий данные о событиях звуковых данных. | SampleDataEvent | ||
[переопределить]
Создает копию объекта SampleDataEvent и задает значение каждого свойства, совпадающее с оригиналом. | SampleDataEvent | ||
![]() |
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event. | Event | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Проверяет, выполнялся ли для события вызова метода preventDefault(). | Event | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Отменяет поведение по умолчанию для события, если такое поведение можно отменить. | Event | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Отменяет обработку прослушивателей событий в текущем узле, а также во всех узлах, которые следуют в потоке событий за текущим узлом. | Event | |
![]() |
Отменяет обработку прослушивателей событий в узлах, которые следуют в потоке событий за текущим узлом. | Event | |
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
[переопределить]
Возвращает строку, содержащую все свойства объекта SampleDataEvent. | SampleDataEvent | ||
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
| Константа | Определено | ||
|---|---|---|---|
![]() | ACTIVATE : String = "activate" [статические]
Константа ACTIVATE определяет значение свойства type объекта события activate. | Event | |
![]() | ADDED : String = "added" [статические]
Константа Event.ADDED определяет значение свойства type объекта события added. | Event | |
![]() | ADDED_TO_STAGE : String = "addedToStage" [статические]
Константа Event.ADDED_TO_STAGE определяет значение свойства type объекта события addedToStage. | Event | |
![]() | CANCEL : String = "cancel" [статические]
Константа Event.CANCEL определяет значение свойства type объекта события cancel. | Event | |
![]() | CHANGE : String = "change" [статические]
Константа Event.CHANGE определяет значение свойства type объекта события change. | Event | |
![]() | CLEAR : String = "clear" [статические]
Константа Event.CLEAR определяет значение свойства type объекта события clear. | Event | |
![]() | CLOSE : String = "close" [статические]
Константа Event.CLOSE определяет значение свойства type объекта события close. | Event | |
![]() | CLOSING : String = "closing" [статические]
Константа Event.CLOSING определяет значение свойства type объекта события closing. | Event | |
![]() | COMPLETE : String = "complete" [статические]
Константа Event.COMPLETE определяет значение свойства type объекта complete. | Event | |
![]() | CONNECT : String = "connect" [статические]
Константа Event.CONNECT определяет значение свойства type объекта события connect. | Event | |
![]() | CONTEXT3D_CREATE : String = "context3DCreate" [статические]
Константа Event.CONTEXT3D_CREATE определяет значение свойства type объекта события context3Dcreate object. | Event | |
![]() | COPY : String = "copy" [статические]
Задает значение свойства type для объекта события copy. | Event | |
![]() | CUT : String = "cut" [статические]
Задает значение свойства type для объекта события cut. | Event | |
![]() | DEACTIVATE : String = "deactivate" [статические]
Константа Event.DEACTIVATE определяет значение свойства type объекта события deactivate. | Event | |
![]() | DISPLAYING : String = "displaying" [статические]
Константа Event.DISPLAYING определяет значение свойства type объекта события displaying. | Event | |
![]() | ENTER_FRAME : String = "enterFrame" [статические]
Константа Event.ENTER_FRAME определяет значение свойства type объекта события enterFrame. | Event | |
![]() | EXIT_FRAME : String = "exitFrame" [статические]
Константа Event.EXIT_FRAME определяет значение свойства type объекта события exitFrame. | Event | |
![]() | EXITING : String = "exiting" [статические]
Константа Event.EXITING определяет значение свойства type объекта события exiting. | Event | |
![]() | FRAME_CONSTRUCTED : String = "frameConstructed" [статические]
Константа Event.FRAME_CONSTRUCTED определяет значение свойства type объекта события frameConstructed. | Event | |
![]() | FULLSCREEN : String = "fullScreen" [статические]
Константа Event.FULL_SCREEN определяет значение свойства type объекта события fullScreen. | Event | |
![]() | HTML_BOUNDS_CHANGE : String = "htmlBoundsChange" [статические]
Константа Event.HTML_BOUNDS_CHANGE определяет значение свойства type объекта события htmlBoundsChange. | Event | |
![]() | HTML_DOM_INITIALIZE : String = "htmlDOMInitialize" [статические]
Константа Event.HTML_DOM_INITIALIZE определяет значение свойства type объекта события htmlDOMInitialize. | Event | |
![]() | HTML_RENDER : String = "htmlRender" [статические]
Константа Event.HTML_RENDER определяет значение свойства type объекта события htmlRender. | Event | |
![]() | ID3 : String = "id3" [статические]
Константа Event.ID3 определяет значение свойства type объекта события id3. | Event | |
![]() | INIT : String = "init" [статические]
Константа Event.INIT определяет значение свойства type объекта события init. | Event | |
![]() | LOCATION_CHANGE : String = "locationChange" [статические]
Константа Event.LOCATION_CHANGE определяет значение свойства type объекта события locationChange. | Event | |
![]() | MOUSE_LEAVE : String = "mouseLeave" [статические]
Константа Event.MOUSE_LEAVE определяет значение свойства type объекта события mouseLeave. | Event | |
![]() | NETWORK_CHANGE : String = "networkChange" [статические]
Константа Event.NETWORK_CHANGE определяет значение свойства type объекта события networkChange. | Event | |
![]() | OPEN : String = "open" [статические]
Константа Event.OPEN определяет значение свойства type объекта события open. | Event | |
![]() | PASTE : String = "paste" [статические]
Константа Event.PASTE определяет значение свойства type объекта события paste. | Event | |
![]() | PREPARING : String = "preparing" [статические]
Константа Event.PREPARING определяет значение свойства type объекта события clear. | Event | |
![]() | REMOVED : String = "removed" [статические]
Константа Event.REMOVED определяет значение свойства type объекта события removed. | Event | |
![]() | REMOVED_FROM_STAGE : String = "removedFromStage" [статические]
Константа Event.REMOVED_FROM_STAGE определяет значение свойства type объекта события removedFromStage. | Event | |
![]() | RENDER : String = "render" [статические]
Константа Event.RENDER определяет значение свойства type объекта события render. | Event | |
![]() | RESIZE : String = "resize" [статические]
Константа Event.RESIZE определяет значение свойства type объекта события resize. | Event | |
| SAMPLE_DATA : String = "sampleData" [статические]
Задает значение свойства type для объекта события SampleDataEvent. | SampleDataEvent | ||
![]() | SCROLL : String = "scroll" [статические]
Константа Event.SCROLL определяет значение свойства type объекта события scroll. | Event | |
![]() | SELECT : String = "select" [статические]
Константа Event.SELECT определяет значение свойства type объекта события select. | Event | |
![]() | SELECT_ALL : String = "selectAll" [статические]
Константа Event.SELECT_ALL определяет значение свойства type объекта события selectAll. | Event | |
![]() | SOUND_COMPLETE : String = "soundComplete" [статические]
Константа Event.SOUND_COMPLETE определяет значение свойства type объекта события soundComplete. | Event | |
![]() | STANDARD_ERROR_CLOSE : String = "standardErrorClose" [статические]
Константа Event.STANDARD_ERROR_CLOSE определяет значение свойства type объекта события standardErrorClose. | Event | |
![]() | STANDARD_INPUT_CLOSE : String = "standardInputClose" [статические]
Константа Event.STANDARD_INPUT_CLOSE определяет значение свойства type объекта события standardInputClose. | Event | |
![]() | STANDARD_OUTPUT_CLOSE : String = "standardOutputClose" [статические]
Константа Event.STANDARD_OUTPUT_CLOSE определяет значение свойства type объекта события standardOutputClose. | Event | |
![]() | TAB_CHILDREN_CHANGE : String = "tabChildrenChange" [статические]
Константа Event.TAB_CHILDREN_CHANGE определяет значение свойства type объекта события tabChildrenChange. | Event | |
![]() | TAB_ENABLED_CHANGE : String = "tabEnabledChange" [статические]
Константа Event.TAB_ENABLED_CHANGE определяет значение свойства type объекта события tabEnabledChange. | Event | |
![]() | TAB_INDEX_CHANGE : String = "tabIndexChange" [статические]
Константа Event.TAB_INDEX_CHANGE определяет значение свойства type объекта события tabIndexChange. | Event | |
![]() | TEXT_INTERACTION_MODE_CHANGE : String = "textInteractionModeChange" [статические]
Событие. Константа TEXT_INTERACTION_MODE_CHANGE определяет значение свойства текста объекта event режима взаимодействия. | Event | |
![]() | UNLOAD : String = "unload" [статические]
Константа Event.UNLOAD определяет значение свойства type объекта события unload. | Event | |
![]() | USER_IDLE : String = "userIdle" [статические]
Константа Event.USER_IDLE определяет значение свойства type объекта события userIdle. | Event | |
![]() | USER_PRESENT : String = "userPresent" [статические]
Константа Event.USER_PRESENT определяет значение свойства type объекта события userPresent. | Event | |
data | свойство |
position | свойство |
SampleDataEvent | () | Конструктор |
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Создает объект события, содержащий данные о событиях звуковых данных. Объекты 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, AIR 1.5 |
Создает копию объекта SampleDataEvent и задает значение каждого свойства, совпадающее с оригиналом.
ВозвращаетEvent — Новый объект SampleDataEvent, значения свойств которого соответствуют значениям оригинала.
|
toString | () | метод |
override public function toString():String| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Возвращает строку, содержащую все свойства объекта SampleDataEvent. Строка имеет следующий формат:
[SampleDataEvent type=value bubbles=value cancelable=value theposition=value thedata=value]
String — Строка, содержащая все свойства объекта SampleDataEvent.
|
SAMPLE_DATA | Константа |
public static const SAMPLE_DATA:String = "sampleData"| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Задает значение свойства type для объекта события SampleDataEvent.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | false |
cancelable | false; поведение по умолчанию, подлежащее отмене, не определено. |
position | Точка, из которой поступают аудиоданные. |
Связанные элементы API
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(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator);
mySound.play();
Wed Apr 11 2012, 05:48 AM -07:00
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства