Главная / Action Script 3
Пакетflash.events
Классpublic class SampleDataEvent
НаследованиеSampleDataEvent Inheritance Event Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Отправляется при запросе проигрывателем новых аудиоданных.

Используйте это событие для управления динамически создаваемыми аудиоданными. В данной среде объект 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 остаются доступными.

Посмотреть примеры

См. также

flash.media.Sound
flash.events.Event.SAMPLE_DATA


Общедоступные свойства
 СвойствоОпределено
 Inheritedbubbles : Boolean
[только для чтения] Определяет, является ли событие "событием на цепочке".
Event
 Inheritedcancelable : Boolean
[только для чтения] Определяет, можно ли отключить поведение, связанное с событием.
Event
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 InheritedcurrentTarget : Object
[только для чтения] Объект, активно обрабатывающий объект Event с помощью прослушивателя событий.
Event
  data : ByteArray
Данные в аудиопотоке.
SampleDataEvent
 InheritedeventPhase : uint
[только для чтения] Текущая фаза в потоке событий.
Event
  position : Number
Положение данных в аудиопотоке.
SampleDataEvent
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
 Inheritedtarget : Object
[только для чтения] Целевой объект события.
Event
 Inheritedtype : String
[только для чтения] Тип события.
Event
Общедоступные методы
 МетодОпределено
  
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Создает объект события, содержащий данные о событиях звуковых данных.
SampleDataEvent
  
Создает копию объекта SampleDataEvent и задает значение каждого свойства, совпадающее с оригиналом.
SampleDataEvent
 Inherited
formatToString(className:String, ... arguments):String
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event.
Event
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Проверяет, выполнялся ли для события вызова метода preventDefault().
Event
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Отменяет поведение по умолчанию для события, если такое поведение можно отменить.
Event
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Отменяет обработку прослушивателей событий в текущем узле, а также во всех узлах, которые следуют в потоке событий за текущим узлом.
Event
 Inherited
Отменяет обработку прослушивателей событий в узлах, которые следуют в потоке событий за текущим узлом.
Event
  
Возвращает строку, содержащую все свойства объекта SampleDataEvent.
SampleDataEvent
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Общедоступные константы
 Константа Определено
 InheritedACTIVATE : String = "activate"
[статические] Константа Event.ACTIVATE определяет значение свойства type объекта события Activitate.
Event
 InheritedADDED : String = "added"
[статические] Константа Event.ADDED определяет значение свойства type добавленного объекта события.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[статические] Константа Event.ADDED_TO_STAGE определяет значение свойства type объекта события addedToStage.
Event
 InheritedCANCEL : String = "cancel"
[статические] Константа Event.CANCEL определяет значение свойства type объекта события cancel.
Event
 InheritedCHANGE : String = "change"
[статические] Константа Event.CHANGE определяет значение свойства type объекта события change.
Event
 InheritedCLEAR : String = "clear"
[статические] Задает значение свойства type для объекта события clear.
Event
 InheritedCLOSE : String = "close"
[статические] Константа Event.CLOSE определяет значение свойства type объекта события close.
Event
 InheritedAIR-only CLOSING : String = "closing"
[статические] Константа Event.CLOSING определяет значение свойства type объекта события closing.
Event
 InheritedCOMPLETE : String = "complete"
[статические] Константа Event.COMPLETE определяет значение свойства type объекта события complete.
Event
 InheritedCONNECT : String = "connect"
[статические] Константа Event.CONNECT определяет значение свойства type объекта события connect.
Event
 InheritedCOPY : String = "copy"
[статические] Задает значение свойства type для объекта события copy.
Event
 InheritedCUT : String = "cut"
[статические] Задает значение свойства type для объекта события cut.
Event
 InheritedDEACTIVATE : String = "deactivate"
[статические] Константа Event.DEACTIVATE определяет значение свойства type объекта события deactivate.
Event
 InheritedDISPLAYING : String = "displaying"
[статические] Задает значение свойства type для объекта события displaying.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[статические] Константа Event.ENTER_FRAME определяет значение свойства type объекта события enterFrame.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[статические] Определяет значение свойства type объекта exitFrame.
Event
 InheritedAIR-only EXITING : String = "exiting"
[статические] Константа Event.EXITING определяет значение свойства type объекта exiting.
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[статические] Задает значение свойства type для объекта события frameConstructed.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[статические] Константа Event.FULL_SCREEN определяет значение свойства type для объекта события fullScreen.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[статические] Константа Event.HTML_BOUNDS_CHANGE определяет значение свойства type объекта htmlBoundsChange.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[статические] Константа Event.HTML_DOM_INITIALIZE определяет значение свойства type объекта события htmlDOMInitialize.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[статические] Константа Event.HTML_RENDER определяет значение свойства type объекта события htmlRender.
Event
 InheritedID3 : String = "id3"
[статические] Константа Event.ID3 определяет значение свойства type объекта id3.
Event
 InheritedINIT : String = "init"
[статические] Константа Event.INIT определяет значение свойства type объекта init.
Event
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[статические] Константа Event.LOCATION_CHANGE определяет значение свойства type объекта события locationChange.
Event
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[статические] Константа Event.MOUSE_LEAVE определяет значение свойства type объекта события mouseLeave.
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[статические] Константа Event.NETWORK_CHANGE определяет значение свойства type объекта события networkChange.
Event
 InheritedOPEN : String = "open"
[статические] Константа Event.OPEN определяет значение свойства type объекта open.
Event
 InheritedPASTE : String = "paste"
[статические] Задает значение свойства type для объекта события paste.
Event
 InheritedREMOVED : String = "removed"
[статические] Константа Event.REMOVED определяет значение свойства type объекта события removed.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[статические] Константа REMOVED_FROM_STAGE определяет значение свойства type объекта события removedFromStage.
Event
 InheritedRENDER : String = "render"
[статические] Константа Event.RENDER определяет значение свойства type объекта события render.
Event
 InheritedRESIZE : String = "resize"
[статические] Константа Event.RESIZE определяет значение свойства type объекта события resize.
Event
  SAMPLE_DATA : String = "sampleData"
[статические] Задает значение свойства type для объекта события SampleDataEvent.
SampleDataEvent
 InheritedSCROLL : String = "scroll"
[статические] Константа Event.SCROLL определяет значение свойства type объекта события scroll.
Event
 InheritedSELECT : String = "select"
[статические] Константа Event.SELECT определяет значение свойства type объекта события select.
Event
 InheritedSELECT_ALL : String = "selectAll"
[статические] Задает значение свойства type для объекта события selectAll.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[статические] Константа Event.SOUND_COMPLETE определяет значение свойства type объекта события soundComplete.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[статические] Константа Event.TAB_CHILDREN_CHANGE определяет значение свойства type объекта события tabChildrenChange.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[статические] Константа Event.TAB_ENABLED_CHANGE определяет значение свойства type объекта события tabEnabledChange.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[статические] Константа Event.TAB_INDEX_CHANGE определяет значение свойства type объекта события tabIndexChange.
Event
 InheritedUNLOAD : String = "unload"
[статические] Константа Event.UNLOAD определяет значение свойства type объекта unload.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[статические] Константа Event.USER_IDLE определяет значение свойства type объекта события userIdle.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[статические] Константа Event.USER_PRESENT определяет значение свойства type объекта события userPresent.
Event
Сведения о свойстве
dataсвойство
data:ByteArray  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Данные в аудиопотоке.



Реализация
    public function get data():ByteArray
    public function set data(value:ByteArray):void
positionсвойство 
position:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Положение данных в аудиопотоке.



Реализация
    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
Версии среды выполнения:  10, 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
Версии среды выполнения:  10, 1.5

Создает копию объекта SampleDataEvent и задает значение каждого свойства, совпадающее с оригиналом.

Возвращает
Event — Новый объект SampleDataEvent, значения свойств которого соответствуют значениям оригинала.
toString()метод 
override public function toString():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Возвращает строку, содержащую все свойства объекта SampleDataEvent. Строка имеет следующий формат:

[SampleDataEvent type=значение bubbles=значение cancelable=значение theposition=значение thedata=значение]

Возвращает
String — Строка, содержащая все свойства объекта SampleDataEvent.
Сведения о константе
SAMPLE_DATAКонстанта
public static const SAMPLE_DATA:String = "sampleData"

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Задает значение свойства type для объекта события SampleDataEvent.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblesfalse
cancelablefalse; нет поведения по умолчанию для отмены.
positionТочка, из которой поступают аудиоданные.

См. также

Примеры Как пользоваться примерами
Sound_sampleDataExample.as

Следующий пример воспроизводит простую гармоническую волну.
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();