Paket | flash.events |
Sınıf | public class SampleDataEvent |
Miras Alma | SampleDataEvent Event Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bu olay iki şekilde kullanılabilir:
- Bir Sound nesnesi için dinamik olarak üretilmiş ses verileri sağlamak üzere
- Bir Microphone nesnesi için ses verilerini almak üzere
Sound nesnesini kullanarak dinamik olarak ses üretme Dinamik olarak üretilen sesi çalmak için sampleData
olayını kullanın. Bu ortamda, Sound nesnesi gerçekten de ses verileri içermez. Bunun yerine, sampleData
olayı için işleyici olarak atadığınız işlevin kullanımı aracılığıyla kendisine akışa alınan ses verilerine yönelik bir soket görevi görür.
Sizin işlevinizde, olayın data
özelliğine yazmak için, oynatmak istediğiniz örneklenen verileri içeren ByteArray.writeFloat()
yöntemini kullanırsınız.
play()
yöntemini çağırdığınızda Sound nesnesi bir MP3 dosyası yüklemediyse, nesne sampleData
olaylarını göndermeye başlayarak ses örnekleri ister. Sound nesnesi, siz veri sağlamayı durduruncaya kadar veya SoundChannel nesnesinin stop()
yöntemi çağrılıncaya kadar ses çalınırken olayları göndermeye devam eder.
Olayların gecikmesi platformdan platforma değişiklik gösterir veFlash Player veya AIR uygulamasının gelecekteki sürümlerinde değişebilir. Belirli bir gecikmeye güvenmeyin. Bunun yerine, ((SampleDataEvent.position/44.1) - SoundChannelObject.position)
öğesini kullanarak hesaplayın.
SampleDataEvent nesnesinin data
özelliğine 2048 ile 8192 arasında örnek sağlayın. En iyi performans için mümkün olduğu kadar çok örnek sağlayın. Ne kadar az örnek sağlarsanız, oynatma sırasında o kadar çok tıklatma öğesi ve açılır pencere ortaya çıkar. Bu davranış çeşitli platformlarda değişiklik gösterebilir ve çeşitli durumlarda ortaya çıkabilir; örneğin, tarayıcıyı yeniden boyutlandırırken. Yalnızca 2048 örnek sağladığınızda tek bir platformda çalışan kod yazabilirsiniz, ancak aynı kod farklı platformda çalışırken kullanılamayabilir. Olası en düşük gecikme gerekiyorsa, veri miktarını kullanıcı tarafından seçilebilir yapmayı aklınızda bulundurun.
2048'den daha az örnek sağlarsanız, Sound nesnesi geri kalan örnekleri oynatıp ardından complete
olayını oluşturarak ses dosyasının sonuna ulaşılmış gibi sesi durdurur.
Daha sonra oynatma için dinamik akışa yazabileceğiniz şekilde ses verilerini çıkarmak için bir Sound nesnesinin extract()
yöntemini kullanabilirsiniz.
sampleData
olayını bir Sound nesnesiyle kullandığınızda etkinleştirilmiş olan diğer Sound yöntemleri yalnızca şunlardır: extract()
ve play()
. Herhangi bir diğer yöntemin veya özelliğin çağrılması “geçersiz çağrı“ istisnasıyla sonuçlanır. SoundChannel nesnesinin tüm yöntemleri ve özellikleri etkin kalmaya devam eder.
Mikrofon sesini yakalama Mikrofondan gelen ses verilerini yakalamak için sampleData
olayını kullanın. sampleData
olayı için bir olay dinleyicisi eklediğinizde, ses örnekleri kullanılabilir oldukça, Microphone öğesi olayı gönderir.
Olay işleyicisi işlevinde, olayın data
özelliğini okumak için, örneklenmiş verileri içeren ByteArray.readFloat()
yöntemini kullanın. Bu olay birden çok örnek içerir, bu nedenle, kullanılabilir verileri okumak için bir while
döngüsünü kullanmanız gerekir.
var soundBytes:ByteArray = new ByteArray(); while(event.data.bytesAvailable) { var sample:Number = event.data.readFloat(); soundBytes.writeFloat(sample); }
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
bubbles : Boolean [salt okunur]
Bir olayın köpüren bir olay olup olmadığını belirtir. | Event | ||
cancelable : Boolean [salt okunur]
Olayla ilişkilendirilmiş davranışın önlenebilir olup olmadığını gösterir. | Event | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
currentTarget : Object [salt okunur]
Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. | Event | ||
data : ByteArray
Ses akışındaki veriler. | SampleDataEvent | ||
eventPhase : uint [salt okunur]
Olay akışındaki geçerli aşama. | Event | ||
position : Number
Ses akışında verilerin konumu. | SampleDataEvent | ||
target : Object [salt okunur]
Olay hedefi. | Event | ||
type : String [salt okunur]
Olay türü. | Event |
Yöntem | Tanımlayan: | ||
---|---|---|---|
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Ses verisi olayları hakkındaki bilgileri içeren bir olay nesnesi oluşturur. | SampleDataEvent | ||
[geçersiz kıl]
SampleDataEvent nesnesinin bir kopyasını oluşturur ve her özelliğin değerini, orijinal ile aynı olacak şekilde ayarlar. | SampleDataEvent | ||
Özel ActionScript 3.0 Event sınıfınızdaki toString() yöntemini uygulamak için bir yardımcı işlev. | Event | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Olayda preventDefault() öğesinin çağrılmış olup olmadığını kontrol eder. | Event | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Bir olayın varsayılan davranışını, bu yapılabiliyorsa iptal eder. | Event | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Olay akışında geçerli düğümdeki ve ondan sonra gelen düğümlerdeki olay dinleyicilerin işlenmesini engeller. | Event | ||
Olay akışında geçerli düğümden sonra gelen düğümlerdeki olay dinleyicilerin işlenmesini engeller. | Event | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
[geçersiz kıl]
SampleDataEvent nesnesinin tüm özelliklerini içeren bir dize döndürür. | SampleDataEvent | ||
Belirtilen nesnenin temel değerini döndürür. | Object |
Sabit | Tanımlayan: | ||
---|---|---|---|
SAMPLE_DATA : String = "sampleData" [statik]
SampleDataEvent olay nesnesinin type özelliği değerini tanımlar. | SampleDataEvent |
data | özellik |
position | özellik |
SampleDataEvent | () | Yapıcı |
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Ses verisi olayları hakkındaki bilgileri içeren bir olay nesnesi oluşturur. Event nesneleri, olay dinleyicilerine parametre olarak iletilir.
Parametrelertype:String — Olayın türü. Bu değer şudur:Event.SAMPLE_DATA .
| |
bubbles:Boolean (default = false ) — Event nesnesinin olay akışının köpürme aşamasında yer alıp almayacağını belirler.
| |
cancelable:Boolean (default = false ) — Event nesnesinin iptal edilip edilemeyeceğini belirler.
| |
theposition:Number (default = 0 ) — Ses akışında verilerin konumu.
| |
thedata:ByteArray (default = null ) — Verilerin bayt dizisi.
|
clone | () | yöntem |
override public function clone():Event
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
SampleDataEvent nesnesinin bir kopyasını oluşturur ve her özelliğin değerini, orijinal ile aynı olacak şekilde ayarlar.
DöndürürEvent — Orijinaliyle eşlenen özellik değerlerine sahip yeni bir SampleDataEvent nesnesi.
|
toString | () | yöntem |
override public function toString():String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
SampleDataEvent nesnesinin tüm özelliklerini içeren bir dize döndürür. Dize şu biçimdedir:
[SampleDataEvent type=value bubbles=value cancelable=value theposition=value thedata=value]
String — SampleDataEvent nesnesinin tüm özelliklerini içeren bir dize.
|
SAMPLE_DATA | Sabit |
public static const SAMPLE_DATA:String = "sampleData"
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
SampleDataEvent
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
position | Ses verilerinin sağlandığı nokta. |
İlgili API Öğeleri
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();
Tue Jun 12 2018, 01:09 PM Z