Paket | flash.media |
Sınıf | public class Sound |
Miras Alma | Sound EventDispatcher Object |
Alt Sınıflar | SoundAsset |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Flash Player 10 ve daha sonraki sürümleri ile AIR 1.5 ve daha sonraki sürümlerinde, aynı zamanda dinamik olarak oluşturulan sesle birlikte çalışmak için de bu sınıfı kullanabilirsiniz. Bu durumda, Sound nesnesi ses verilerini istemek için sampleData
olay işleyicisine atadığınız işlevi kullanır. Ses, ses verileriyle doldurduğunuz bir ByteArray nesnesinden alındığı şekliyle oynatılır. Bir Sound nesnesinden ses verilerini ayıklamak için Sound.extract()
öğesini kullanabilirsiniz, bu işlemden sonra verileri oynatma için akışa yazmadan önce işleyebilirsiniz.
SWF dosyasına gömülü sesleri kontrol etmek için, SoundMixer sınıfındaki özellikleri kullanın.
Not: ActionScript 3.0 Sound API, ActionScript 2.0'dan farklıdır. ActionScript 3.0'da, ses nesnelerini alıp özelliklerini kontrol etmek için bu nesneleri hiyerarşi içinde düzenleyemezsiniz.
Bu sınıfı kullanırken aşağıdaki güvenlik modelini dikkate alın.
- Çağıran dosyası bir ağ sanal alanı içindeyse ve yüklenecek ses dosyası yerelse sesin yüklenmesine ve çalınmasına izin verilmez.
- Varsayılan olarak, çağıran dosyası yerelse ve uzak bir sesi yükleyip çalmayı denerse sesin yüklenmesine ve çalınmasına izin verilmez. Kullanıcının bu erişim türüne izin vermek için açıkça izin vermesi gerekir.
- Sesle ilgili belirli işlemler sınırlanmıştır. Etki alanları arası ilke dosyası uygulamadığınız sürece, farklı bir etki alanındaki bir dosyası yüklenen bir sesteki verilere erişemez. Bu kısıtlamanın kapsamındaki sesle ilgili API'ler
Sound.id3
,SoundMixer.computeSpectrum()
,SoundMixer.bufferTime
veSoundTransform
sınıfıdır.
Ancak Adobe AIR'de, application
güvenlik sanal alanındaki içerik (AIR uygulamasıyla yüklenen içerik) bu güvenlik sınırlamalarıyla kısıtlanmaz.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
bytesLoaded : uint [salt okunur]
Bu ses nesnesinde geçerli olarak kullanılabilir bayt sayısını döndürür. | Sound | ||
bytesTotal : int [salt okunur]
Bu ses nesnesindeki toplam bayt sayısını döndürür. | Sound | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
id3 : ID3Info [salt okunur]
Bir MP3 dosyasının parçası olan meta veriye erişim sağlar. | Sound | ||
isBuffering : Boolean [salt okunur]
Harici MP3 dosyalarının arabelleğe alma durumunu döndürür. | Sound | ||
isURLInaccessible : Boolean [salt okunur]
Sound.url özelliğinin kırpılıp kırpılmadığını gösterir. | Sound | ||
length : Number [salt okunur]
Geçerli sesin milisaniye olarak uzunluğu. | Sound | ||
url : String [salt okunur]
Bu sesin yüklendiği URL. | Sound |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Yeni Sound nesnesi oluşturur. | Sound | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | ||
Akışı kapatır, indirilmekte olan verileri keser. | Sound | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
Bir Sound nesnesinden ham ses verisi çıkarır. | Sound | ||
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Harici bir MP3 dosyasının belirtilen URL'den yüklenmesini başlatır. | Sound | ||
bir ByteArray nesnesinden Sound nesnesine MP3 ses verisi yükler. | Sound | ||
loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void
Bir ByteArray nesnesinden Sound nesnesine PCM 32 bit kayan nokta ses verisi yükler. | Sound | ||
play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel
Sesi çalmak için yeni bir SoundChannel nesnesi üretir. | Sound | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher |
Olay | Özet | Tanımlayan: | ||
---|---|---|---|---|
[broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir. | EventDispatcher | |||
Veriler başarılı şekilde yüklendiğinde gönderilir. | Sound | |||
[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. | EventDispatcher | |||
Bir MP3 ses dosyasında ID3 dosyası bulunduğunda bir Sound nesnesi tarafından gönderilir. | Sound | |||
Bir yükleme işleminin başarısız olmasına neden olan bir girdi/çıktı hatası ortaya çıktığında gönderilir. | Sound | |||
Bir yükleme işlemi başladığında gönderilir. | Sound | |||
İndirme işleminin ilerlemesi sırasında veri alındığında gönderilir. | Sound | |||
Çalışma zamanı yeni ses verileri istediğinde gönderilir. | Sound |
bytesLoaded | özellik |
bytesLoaded:uint
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bu ses nesnesinde geçerli olarak kullanılabilir bayt sayısını döndürür. Bu özellik genellikle harici olarak yüklenen dosyalar için kullanışlıdır.
Uygulama
public function get bytesLoaded():uint
bytesTotal | özellik |
id3 | özellik |
id3:ID3Info
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir MP3 dosyasının parçası olan meta veriye erişim sağlar.
MP3 ses dosyaları, dosya hakkında meta veriler sağlayan ID3 etiketlerini içerebilir. Sound.load()
yöntemini kullanarak yüklediğiniz MP3 sesi, ID3 etiketleri içerir, bu özellikleri sorgulayabilirsiniz. Yalnızca UTF-8 karakter kümesini kullanan ID3 etiketleri desteklenir.
Flash Player 9 ve daha sonraki sürümleri ile AIR destek ID3 2.0 etiketlerini, özellikle 2.3 ve 2.4'ü destekler. Aşağıdaki tablolar, standart ID3 2.0 etiketlerini ve etiketlerin temsil ettiği içerik türünü listeler. Sound.id3
özelliği, my_sound.id3.COMM
, my_sound.id3.TIME
, vb. biçimiyle bu etiketlere erişim sağlar. Birinci tablo, ID3 2.0 özellik adıyla veya ActionScript özellik adıyla erişilebilen etiketleri açıklar. İkinci tablo, desteklenen ancak ActionScript'te önceden tanımlanmış özelliklere sahip olmayan ID3 etiketlerini açıklar.
ID3 2.0 etiketi | Karşılık gelen Sound sınıfı özelliği |
COMM | Sound.id3.comment |
TALB | Sound.id3.album |
TCON | Sound.id3.genre |
TIT2 | Sound.id3.songName |
TPE1 | Sound.id3.artist |
TRCK | Sound.id3.track |
TYER | Sound.id3.year |
Aşağıdaki tablo, Sound sınıfında desteklenen, ancak önceden tanımlanmış özelliklere sahip olmayan ID3 etiketlerini açıklar. mySound.id3.TFLT
, mySound.id3.TIME
, vb. öğelerini çağırarak bunlara erişebilirsiniz. NOT: Bu etiketlerin hiç biri Flash Lite 4'te desteklenmez.
Özellik | Açıklama |
TFLT | Dosya türü |
TIME | Süre |
TIT1 | İçerik grubu açıklaması |
TIT2 | Başlık/şarkı adı/içerik açıklaması |
TIT3 | Altyazı/açıklama geliştirme |
TKEY | Başlangıç tuşu |
TLAN | Diller |
TLEN | Uzunluk |
TMED | Medya türü |
TOAL | Orijinal albüm/film/gösteri başlığı |
TOFN | Orijinal dosya adı |
TOLY | Orijinal söz/metin yazarları |
TOPE | Orijinal sanatçılar/icracılar |
TORY | Orijinal yayınlanma tarihi |
TOWN | Dosya/lisans sahibi |
TPE1 | Baş icracı/solistler |
TPE2 | Grup/orkestra/topluluk |
TPE3 | Orkestra şefi/icracı geliştirmesi |
TPE4 | Yorumlayan, remiks yapan veya değiştiren |
TPOS | Kümenin parçası |
TPUB | Yayıncı |
TRCK | Parça sayısı/kümedeki konumu |
TRDA | Kayıt tarihleri |
TRSN | İnternet radyo istasyonu adı |
TRSO | İnternet radyo istasyonu sahibi |
TSIZ | Boyut |
TSRC | ISRC (uluslararası standart kayıt kodu) |
TSSE | Kodlamada kullanılan yazılım/donanım ve ayarlar |
TYER | Yıl |
WXXX | URL bağı karesi |
Bu yöntemi kullanırken Flash Player güvenlik modelini göz önünde bulundurun:
- Ses dosyasıyla aynı sanal güvenlik alanındaki SWF dosyaları için bir Sound nesnesinin
id3
özelliğine her zaman izin verilir. Diğer sanal alanlardaki dosyalar için güvenlik kontrolleri vardır. - Sesi yüklediğinizde, Sound sınıfının
load()
yöntemini kullanarak, bir SoundLoaderContext nesnesi olan bircontext
parametresini belirtebilirsiniz. SoundLoaderContext nesnesinincheckPolicyFile
özelliğinitrue
değerine ayarlarsanız, Flash Player, sesin yüklendiği sunucuda URL ilke dosyasını kontrol eder. İlke dosyası varsa ve yüklenen SWF dosyasının etki alanından erişime izin veriyorsa, bu durumda dosyanın Sound nesnesininid3
özelliğine erişmesine izin verilir; aksi takdirde izin verilmez.
Ancak Adobe AIR'de, application
güvenlik sanal alanındaki içerik (AIR uygulamasıyla yüklenen içerik) bu güvenlik sınırlamalarıyla kısıtlanmaz.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
Uygulama
public function get id3():ID3Info
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
Yapıcıda, ses dosyası yüklenir ancak oynatılacak şekilde ayarlanmaz. Burada, dosyanın SWF dizininde olduğu varsayılır. Yüklenen ses dosyasının ID3 etiketlerini okumak için sistemin izninin olması gerekir. Dosyada ID3 bilgileri varsa ve programın bunları okumasına izin veriliyorsa, bir Event.ID3
olayı tetiklenir ve ses dosyasının id3
özelliği doldurulur. id3
özelliği, tüm ID3 bilgilerini içeren bir ID3Info
nesnesine sahiptir.
id3Handler()
yönteminde, dosyanın ID3 etiketleri bir ID3Info sınıfı nesnesi olan id3
içinde saklanır. ID3 etiketleri listesini görüntülemek için bir metin alanı başlatılır. for döngüsü tüm ID3 2.0 etiketleri boyunca yinelenir ve metin alanının içeriklerine adı ve değeri ekler. ID3 bilgileri (ID3Info
) özellikleri kullanılarak sanatçı, şarkı adı ve albüm de eklenir. ActionScript 3.0, Flash Player 9 ve sonrası, ID3 2.0 etiketlerini, özellikle de 2.3 ve 2.4'ü destekler. for döngüsündeki gibi özellikler boyunca yineleme işlemi yaparsanız, yalnızca ID3 2.0 etiketleri görüntülenir. Ancak, önceki sürümlerdeki veriler ayrıca şarkının id3
özelliğinde saklanır ve ID3 info sınıfı özellikleri kullanılarak erişilebilir. ID3 1.0 etiketleri dosyanın sonunda bulunurken, ID3 2.0 etiketleri dosyanın başında bulunur. (Bazen dosyalarda önceki ve sonraki sürüm etiketleri aynı yerde bulunabilir.) Bir dosya, dosyanın başında ve sonunda hem sürüm 1.0 hem de 2.0 etiketleriyle kodlanmışsa, id3Handler()
yöntemi iki defa çağrılır. İlk olarak 2.0 sürümünü ve sonra 1.0 sürümünü okur. Yalnızca ID3 1.0 etiketi mevcutsa, bu durumda bilgiye id3.songname
gibi ID3 info özellikleri yoluyla erişilebilir. ID3 2.0 için, id3.TITS
özelliği yeni etiketi (TITS) kullanarak şarkı adını alır.
Bu örnek için herhangi bir hata işlemenin yazılmadığını ve ID3 içeriği uzunsa, sonucun görüntülenebilir alanın dışına çıkabileceğini unutmayın.
package { import flash.display.Sprite; import flash.media.Sound; import flash.net.URLRequest; import flash.media.ID3Info; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.Event; public class Sound_id3Example extends Sprite { private var snd:Sound = new Sound(); private var myTextField:TextField = new TextField(); public function Sound_id3Example() { snd.addEventListener(Event.ID3, id3Handler); snd.load(new URLRequest("mySound.mp3")); } private function id3Handler(event:Event):void { var id3:ID3Info = snd.id3; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.border = true; myTextField.appendText("Received ID3 Info: \n"); for (var propName:String in id3) { myTextField.appendText(propName + " = " + id3[propName] + "\n"); } myTextField.appendText("\n" + "Artist: " + id3.artist + "\n"); myTextField.appendText("Song name: " + id3.songName + "\n"); myTextField.appendText("Album: " + id3.album + "\n\n"); this.addChild(myTextField); } } }
isBuffering | özellik |
isBuffering:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Harici MP3 dosyalarının arabelleğe alma durumunu döndürür. Değer true
olursa, nesne daha fazla veri beklerken, oynatma işlemi askıya alınır.
Uygulama
public function get isBuffering():Boolean
isURLInaccessible | özellik |
isURLInaccessible:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Sound.url
özelliğinin kırpılıp kırpılmadığını gösterir. isURLInaccessible
değeri true
olduğunda, Sound.url
değeri yalnızca sesin yüklendiği son URl'nin etki alanıdır. Örneğin, ses http://www.adobe.com/assets/hello.mp3
adresinden yüklendiyse özellik kırpılır ve Sound.url
özelliği http://www.adobe.com
değerine sahip olur. isURLInaccessible
değeri yalnızca aşağıdakilerin tümü true olduğunda true
olur:
- Ses dosyası yüklenirken bir HTTP yeniden yönlendirmesi gerçekleşmiştir.
Sound.load()
öğesini çağıran SWF dosyası ses dosyasının son URL'sinden farklı bir etki alanındandır.Sound.load()
öğesini çağıran SWF dosyasının ses dosyasına erişmeye izni yoktur. Ses dosyasına erişmek için verilen izin,Sound.id3
özelliği için verilenle aynı şekilde verilir: bir ilke dosyası oluşturun veSoundLoaderContext.checkPolicyFile
özelliğini kullanın.
Not: isURLInaccessible
özelliği Adobe Flash Player 10.1 ve AIR 2 için eklenmiştir ancak Flash çalışma zamanı desteklediğinde bütün sürümlerin SWF dosyaları için ulaşılabilir kılınmıştır. Bundan dolayı "sıkı mod"da geliştirme araçlarından bazılarını kullanmak derleme hatasına sebep olur. Hata üzerinde çalışmak için mySound["isURLInaccessible"]
adlı dolaylı sözdizimini kullanın veya sıkı modunu devre dışı bırakın. Flash Professional CS5 veya Flex SDK 4.1 kullanıyorsanız, bu API'yi Flash Player 10.1 ve AIR 2'den önce yayımlanan çalışma zamanları için kullanabilir ve derleyebilirsiniz.
AIR'deki uygulama içeriği için, bu özelliğin değeri her zaman false
değeridir.
Uygulama
public function get isURLInaccessible():Boolean
İlgili API Öğeleri
length | özellik |
url | özellik |
url:String
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bu sesin yüklendiği URL. Bu özellik yalnızca Sound.load()
yöntemi kullanılarak yüklenen Sound nesnelerine uygulanabilir. Bir SWF dosyası kütüphanesinden gelen bir ses varlığıyla ilişkili Sound nesneleri için url
özelliğinin değeri null
olur.
Son URL henüz bilinmediğinden, ilk defa Sound.load()
çağırdığınızda url
özelliğinin ilk değeri null
olur. Sound nesnesinden bir open
olayı gönderilir gönderilmez url
özelliği null olmayan bir değere sahip olacaktır.
url
özelliği bir ses yüklenen son, mutlak URL'yi içerir. url
değeri genellikle, Sound.load()
öğesinin stream
parametresine iletilen değerle aynıdır. Ancak, Sound.load()
öğesine göreceli bir URL ilettiyseniz, url
özelliğinin değeri mutlak URL'yi temsil eder. Ayrıca, orijinal URL isteği bir HTTP sunucusu tarafından yeniden yönlendirilirse, url
özelliğinin değeri, ses dosyasının gerçekten indirildiği son URL'yi yansıtır. Böyle bir son mutlak URL'nin bildirilmesi, LoaderInfo.url
davranışına eşdeğerdir.
Bazı durumlarda url
özelliğinin değeri kırpılır. Ayrıntılar için isURLInaccessible
özelliğine başvurun.
Uygulama
public function get url():String
İlgili API Öğeleri
Sound | () | Yapıcı |
public function Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Yeni Sound nesnesi oluşturur. Sound yapıcısına geçerli bir URLRequest nesnesi iletirseniz, yapıcı Sound nesnesi için otomatik olarak load()
işlevini çağırır. Sound yapıcısına geçerli bir URLRequest iletmezseniz, Sound nesnesi için load()
işlevini sizin çağırmanız gerekir, yoksa akış yüklenmez.
load()
bir Sound nesnesinin üzerine bir kez çağrıldığında, söz konusu Sound nesnesine daha sonra farklı bir ses dosyası yükleyemezsiniz. Farklı bir ses dosyası yüklemek için yeni bir Sound nesnesi oluşturun.
load()
öğesini kullanmak yerine, sampleData
olay işleyicisini kullanabilirsiniz.
Parametreler stream:URLRequest (default = null ) — Harici bir MP3 dosyasına işaret eden URL.
| |
context:SoundLoaderContext (default = null ) — Arabelleğe alma süresini (MP3 verilerinin Sound nesnesinin arabelleğinde tutulacağı minimum milisaniye sayısını) tanımlayabilen ve uygulamanın sesi yüklemeden önce etki alanları arası ilke dosyasını kontrol etmesi gerekip gerekmediğini belirleyebilen isteğe bağlı bir SoundLoader bağlam nesnesi.
|
close | () | yöntem |
public function close():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Akışı kapatır, indirilmekte olan verileri keser. close()
yöntemi çağrıldıktan sonra akıştan hiçbir veri okunamayabilir.
Atar
IOError — Akış kapatılamadı veya akış açık değildi.
|
Örnek ( Bu örnek nasıl kullanılır? )
Sound.close()
yöntemi çağrılır ve ses akışı durur.
Yapıcıda, Başlat ve Durdur düğmeleri için bir metin alanı oluşturulur. Kullanıcı metin alanını tıklattığında, clickHandler()
yöntemi çağrılır. Ses dosyasının başlangıcını ve bitişini işler. Ağ bağlantısına veya kullanıcının Durdur düğmesini tıklattığı zamana bağlı olarak, dosyanın büyük bölümü zaten yüklenmiş olabilir ve ses dosyasının çalmayı durdurması biraz zaman alabilir. Akış kapatılırken ortaya çıkabilecek herhangi bir IO hatasını yakalamak için bir try...catch
bloğu kullanılır. Örneğin, ses yerel dizinden yüklenirse ve akışı yapılmazsa, hata 2029 yakalanır: “Bu URLStream nesnesi, açık bir akışa sahip değildir.“
package { import flash.display.Sprite; import flash.net.URLRequest; import flash.media.Sound; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.MouseEvent; import flash.errors.IOError; import flash.events.IOErrorEvent; public class Sound_closeExample extends Sprite { private var snd:Sound = new Sound(); private var button:TextField = new TextField(); private var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3"); public function Sound_closeExample() { button.x = 10; button.y = 10; button.text = "START"; button.border = true; button.background = true; button.selectable = false; button.autoSize = TextFieldAutoSize.LEFT; button.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(button); } private function clickHandler(e:MouseEvent):void { if(button.text == "START") { snd.load(req); snd.play(); snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); button.text = "STOP"; } else if(button.text == "STOP") { try { snd.close(); button.text = "Wait for loaded stream to finish."; } catch (error:IOError) { button.text = "Couldn't close stream " + error.message; } } } private function errorHandler(event:IOErrorEvent):void { button.text = "Couldn't load the file " + event.text; } } }
extract | () | yöntem |
public function extract(target:ByteArray, length:Number, startPosition:Number = -1):Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bir Sound nesnesinden ham ses verisi çıkarır.
Bu yöntem, farklı bir Sound nesnesi için sampleData
olayına atadığınız bir işlevi kullanarak dinamik olarak oluşturulan sesle çalışırken kullanılmak üzere tasarlanmıştır. Başka bir deyişle, bir Sound nesnesinden ses verilerini ayıklamak için bu yöntemi kullanabilirsiniz. Daha sonra dinamik sesi akışa almak için başka bir Sound nesnesinin kullandığı bayt dizisine verileri yazabilirsiniz.
Ses verileri, bayt dizisinin geçerli konumundan başlayan hedef bayt dizisine yerleştirilir. Ses verileri her zaman 44100 Hz Stereo olarak kullanıma sunulur. Örnek tür, ByteArray.readFloat()
kullanılarak bir Number öğesine dönüştürülebilen 32-bit kayar nokta değeridir.
Parametreler
target:ByteArray — İçinde ayıklanmış ses örneklerinin bulunduğu ByteArray nesnesi.
| |
length:Number — Ayıklanacak ses örneklerinin sayısı. Bir örnek, hem sol hem de sağ kanalı içeren — yani, iki 32 bit kayar nokta değeri.
| |
startPosition:Number (default = -1 ) — Ayıklamanın başladığı örnek. Bir değer belirtmezseniz, Sound.extract() öğesine yapılan ilk çağrı sesin başlangıcında başlar; bir startPosition değeri olmayan sonraki çağrılar dosya içinde sırayla ilerler.
|
Number — target parametresinde belirtilen ByteArray öğesine yazılan örnek sayısı.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
extract()
yöntemini kullanır.
sourceSnd
Sound nesnesine mp3 verileri yüklenir. Uygulama mp3 verilerini yüklediğinde, loaded()
(sourceSnd
nesnesinin complete
olayı için olay işleyicisi) işlevini çağırır. Değiştirilen sesi çalmak için, ikinci bir Sound nesnesi olan outputSound
kullanılır. outputSound
nesnesi bir sampleData
olay dinleyicisine sahiptir; bu nedenle nesnenin play()
yöntemini çağırdığınızda, nesne düzenli olarak sampleData
olaylarını gönderir. upOctave()
yöntemi, kaynak ses verisini esas alarak değiştirilen ses verilerinin bayt dizisini döndürür. Kaynak verideki diğer ses örneklerinin her birini atlayarak bir oktav yüksek ses döndürür. sampleData
olayının olay işleyicisi, döndürülen bayt dizisini outputSound
nesnesinin data
özelliğine yazar. data
bayt dizisi, outputSound
nesnesinin çıktı ses verisine eklenir.
Bu örneği test etmek için, SWF dosyasıyla aynı dizine bir test.mp3 dosyası ekleyin.
var sourceSnd:Sound = new Sound(); var outputSnd:Sound = new Sound(); var urlReq:URLRequest = new URLRequest("test.mp3"); sourceSnd.load(urlReq); sourceSnd.addEventListener(Event.COMPLETE, loaded); function loaded(event:Event):void { outputSnd.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound); outputSnd.play(); } function processSound(event:SampleDataEvent):void { var bytes:ByteArray = new ByteArray(); sourceSnd.extract(bytes, 4096); event.data.writeBytes(upOctave(bytes)); } function upOctave(bytes:ByteArray):ByteArray { var returnBytes:ByteArray = new ByteArray(); bytes.position = 0; while(bytes.bytesAvailable > 0) { returnBytes.writeFloat(bytes.readFloat()); returnBytes.writeFloat(bytes.readFloat()); if (bytes.bytesAvailable > 0) { bytes.position += 8; } } return returnBytes; }
load | () | yöntem |
public function load(stream:URLRequest, context:SoundLoaderContext = null):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Harici bir MP3 dosyasının belirtilen URL'den yüklenmesini başlatır. Sound yapıcısına geçerli bir URLRequest nesnesi sağlarsanız, yapıcı sizin için Sound.load()
öğesini çağırır. Sound.load()
öğesini, yalnızca Sound yapıcısına geçerli bir URLRequest nesnesi iletmediğiniz veya bir null
değeri ilettiğiniz zaman kendiniz çağırmanız gerekir.
load()
bir Sound nesnesinin üzerine bir kez çağrıldığında, söz konusu Sound nesnesine daha sonra farklı bir ses dosyası yükleyemezsiniz. Farklı bir ses dosyası yüklemek için yeni bir Sound nesnesi oluşturun.
Bu yöntemi kullanırken, aşağıdaki güvenlik modelini göz önünde bulundurun:
- Çağıran dosyasının dosya sistemine sahip yerel sanal alanda olması ve sesin bir ağ sanal alanında olması durumunda
Sound.load()
çağrılmasına izin verilmez. - Güvenilen yerel veya ağa sahip yerel sanal alandan erişim, bir URL ilke dosyası üzerinden web sitesi erişimi gerektirir.
- Ortak olarak ayrılmış bağlantı noktalarına bağlanamazsınız. Engellenen bağlantı noktalarının tam listesi için, bkz. "Ağ İletişimi API'lerini Kısıtlama", ActionScript 3.0 Geliştirici Kılavuzu.
- SWF içeriğini barındıran HTML sayfasındaki
object
veembed
etiketlerininallowNetworking
parametresini ayarlayarak bir SWF dosyasının bu yöntemi kullanmasını önleyebilirsiniz.
Flash Player 10 ve sonrasında, yükleme (POST gövdesi içinde "content-disposition" başlığında "filename" parametresiyle belirtilir) içeren çok bölümlü bir Content-Type (örneğin, "multipart/form-data") kullanırsanız, POST işlemi, yüklemelere uygulanan güvenlik kurallarına tabidir:
- Fare tıklatma veya tuş basışı gibi kullanıcı tarafından başlatılan bir eyleme yanıt olarak POST işleminin gerçekleştirilmesi gerekir.
- POST işlemi etki alanları arasıysa (POST hedefi, POST isteğini gönderen SWF dosyasıyla aynı sunucuda değilse), hedef sunucunun etki alanları arası erişime izin veren bir URL ilke dosyası sağlaması gerekir.
Ayrıca çok bölümlü herhangi bir Content-Type için sözdiziminin geçerli olması gerekir (RFC2046 standartlarına göre). Sözdizimi geçersiz görünüyorsa, POST işlemi, yüklemelere uygulanan güvenlik kurallarına tabi olur.
Adobe AIR'da, application
güvenlik sanal alanındaki içerik (AIR uygulamasıyla yüklenen içerik) bu güvenlik sınırlamalarıyla kısıtlanmaz.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
Parametreler
stream:URLRequest — Harici bir MP3 dosyasına işaret eden bir URL.
| |
context:SoundLoaderContext (default = null ) — Arabelleğe alma süresini (MP3 verilerinin Sound nesnesinin arabelleğinde tutulacağı minimum milisaniye sayısını) tanımlayabilen ve uygulamanın sesi yüklemeden önce etki alanları arası ilke dosyasını kontrol etmesi gerekip gerekmediğini belirleyebilen isteğe bağlı bir SoundLoader bağlam nesnesi.
|
Atar
IOError — Bir ağ hatası yüklemenin başarısız olmasına neden oldu.
| |
SecurityError — Güvenilmeyen yerel dosyalar İnternet ile iletişim kuramayabilir. Bu dosyayı ağa sahip yerel veya güvenilir olarak yeniden sınıflandırarak bu durumu ortadan kaldırabilirsiniz.
| |
SecurityError — Ortak olarak ayrılmış bağlantı noktalarına bağlanamazsınız. Engellenen bağlantı noktalarının tam listesi için, bkz. "Ağ İletişimi API'lerini Kısıtlama", ActionScript 3.0 Geliştirici Kılavuzu.
| |
IOError — stream nesnesinin digest özelliği null değildir. SWZ dosyası (bir Adobe platformu bileşeni) yüklenirken URLLoader.load() yöntemi çağrıldığında yalnızca URLRequest nesnesinin digest özelliğini ayarlamalısınız.
|
Örnek ( Bu örnek nasıl kullanılır? )
Bir Adobe podcast'i olan ses dosyasının konumunu tanımlamak için yapıcıda bir URLRequest
nesnesi oluşturulur. Dosya yüklenirken ortaya çıkabilecek herhangi bir hatanın yakalanması için, dosya bir try...catch
bloğuna yüklenir. IO hatası ortaya çıkarsa, errorHandler()
yöntemi de çağrılır ve hata mesajı ilerleme raporuna yönelik metin alanına yazılır. İlerleyen bir yükleme işlemi olduğunda, bir ProgressEvent.PROGRESS
olayı gönderilir ve progressHandler()
yöntemi çağrılır. Burada, ProgressEvent.PROGRESS
olayı yükleme ilerleyişini hesaplamak için bir zamanlayıcı olarak kullanılır.
progressHandler()
yöntemi, yüklenmekte olan ses verisinin yüzdesine ulaşmak için,·ProgressEvent
nesnesiyle iletilen bytesLoaded
değerini bytesTotal
değerine böler. Ardından, bu değerleri metin alanında görüntüler. (Dosyanın küçük, önbelleğe alınmış veya yerel dizinde bulunması durumunda, ilerleme fark edilmeyebilir.)
package { import flash.display.Sprite; import flash.net.URLRequest; import flash.media.Sound; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.ProgressEvent; import flash.events.IOErrorEvent; public class Sound_loadExample extends Sprite { private var snd:Sound = new Sound(); private var statusTextField:TextField = new TextField(); public function Sound_loadExample(){ statusTextField.autoSize = TextFieldAutoSize.LEFT; var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3"); try { snd.load(req); snd.play(); } catch (err:Error) { trace(err.message); } snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); snd.addEventListener(ProgressEvent.PROGRESS, progressHandler); this.addChild(statusTextField); } private function progressHandler(event:ProgressEvent):void { var loadTime:Number = event.bytesLoaded / event.bytesTotal; var LoadPercent:uint = Math.round(100 * loadTime); statusTextField.text = "Sound file's size in bytes: " + event.bytesTotal + "\n" + "Bytes being loaded: " + event.bytesLoaded + "\n" + "Percentage of sound file that is loaded " + LoadPercent + "%.\n"; } private function errorHandler(errorEvent:IOErrorEvent):void { statusTextField.text = "The sound could not be loaded: " + errorEvent.text; } } }
loadCompressedDataFromByteArray | () | yöntem |
public function loadCompressedDataFromByteArray(bytes:ByteArray, bytesLength:uint):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3, Flash Player 11 |
bir ByteArray nesnesinden Sound nesnesine MP3 ses verisi yükler. Veri geçerli ByteArray konumundan okunur ve bittiğinde ByteArray konumunu belirtilen bayt uzunluğunun sonunda bırakır. MP3 ses verisi ID3 verileri içeriyorsa bu işlev çağrısı sırasında ID3 olayları gönderilir. ByteArray nesnesi yeteri kadar veri içermiyorsa bu işlev istisna gönderir.
Parametreler
bytes:ByteArray | |
bytesLength:uint |
loadPCMFromByteArray | () | yöntem |
public function loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 3, Flash Player 11 |
Bir ByteArray nesnesinden Sound nesnesine PCM 32 bit kayan nokta ses verisi yükler. Veriler geçerli ByteArray konumundan okunur ve stereo bayrağı işlem tamamlandığında ayarlanırsa ByteArray konumunu, belirtilen örnek uzunluğu çarpı 1 kanal veya 2 kanal değerinde terk eder.
Flash Player 11.8'den başlamak üzere bu işleve iletilebilecek ses verisi miktarı sınırlıdır. 21'e eşit ve 21'den büyük SWF sürümlerinde bu işlev, söz konusu işleve iletilen ses verisi miktarının 1800 saniyeden fazla olması durumunda bir istisna verir. Yani, örnek sayısı / örnek hızı 1800'den az ya da 1800'e eşit olmalıdır. 21'den önceki swf sürümlerinde, iletilen ses verisi miktarı 12.000 saniyeden fazlaysa çalışma zamanı başarısız olur ve uyarı vermez. Bu işlev yalnızca geriye dönük uyumluluk için sağlanır.
ByteArray nesnesi yeteri kadar veri içermiyorsa bu işlev istisna gönderir.
Parametreler
bytes:ByteArray | |
samples:uint | |
format:String (default = "float ")
| |
stereo:Boolean (default = true )
| |
sampleRate:Number (default = 44100.0 )
|
play | () | yöntem |
public function play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Sesi çalmak için yeni bir SoundChannel nesnesi üretir. Bu yöntem, sesi durdurmak ve ses düzeyini izlemek için erişebileceğiniz bir SoundChannel nesnesi döndürür. (Ses düzeyini, ses kaydırmayı ve dengeyi kontrol etmek için ses kanalına atanan SoundTransform nesnesine erişin.)
Parametreler
startTime:Number (default = 0 ) — Oynatmanın başlayacağı, milisaniye cinsinden ilk konum.
| |
loops:int (default = 0 ) — Ses kanalı oynatmayı durdurmadan önce, sesin startTime değerine döneceği sayıyı tanımlar.
| |
sndTransform:flash.media:SoundTransform (default = null ) — Ses kanalına atanan ilk SoundTransform nesnesi.
|
SoundChannel — Sesi kontrol etmek için kullanabileceğiniz bir SoundChannel nesnesi. Bu yöntem, ses katınızın olmaması veya ses kanalınızın kalmaması durumunda null döndürür. Bir defada izin verilen maksimum ses kanalı sayısı 32'dir.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
Yapıcı, ses verilerini yüklemek için Sound.load()
yöntemini çağırır. Ardından, sesi yeteri kadar veri yüklenir yüklenmez çalmaya başlayacak olan Sound.play()
yöntemini çağırır. Sound.play()
yöntemi, ses oynatmayı kontrol etmek için kullanılabilecek bir SoundChannel nesnesi döndürür. Metin alanı talimatları görüntüler. Kullanıcının sesin başlamasını istediği yerdeki içeriklerin zaten yüklenmiş olduğundan emin olmak için bar
Sprite nesnesi oluşturulur ve dosya yüklemesi bittikten sonra görüntülenir. Dosya başarıyla yüklendiğinde, bir Event.COMPLETE
olayı gönderilir ve bu da completeHandler()
yöntemini tetikler. Ardından, completeHandler()
yöntemi çubuğu oluşturur ve görüntüleme listesine ekler. (Etkileşimliliği desteklemek için bir shape nesnesi yerine bir sprite nesnesi kullanılır.) Kullanıcı çubuğu tıkladığında, clickHandler()
yöntemi tetiklenir.
clickHandler()
yönteminde, kullanıcı tıklamasının x koordinatının konumu, event.localX
, kullanıcının dosyanın başlamasını istediği yeri belirlemek için kullanılır. Çubuk 100 piksel olduğu ve 100 piksellik x koordinatında başladığı için, konumun yüzdesini belirlemek kolaydır. Aynı zamanda, dosya yüklendiği için, ses dosyasının length
özelliği tam dosyanın milisaniye cinsinden uzunluğuna sahip olacaktır. Ses dosyasının uzunluğunu ve çizgideki konumu kullanarak, ses dosyası için bir başlangıç konumu belirlenir. Ses çalmayı durduktan sonra, ses dosyası play()
yöntemine startTime
parametresi olarak geçilen seçilmiş başlangıç konumundan yeniden başlar.
package { import flash.display.Sprite; import flash.display.Graphics; import flash.events.MouseEvent; import flash.media.Sound;; import flash.net.URLRequest; import flash.media.SoundChannel; import flash.events.ProgressEvent; import flash.events.Event; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.IOErrorEvent; public class Sound_playExample1 extends Sprite { private var snd:Sound = new Sound(); private var channel:SoundChannel = new SoundChannel(); private var infoTextField:TextField = new TextField(); public function Sound_playExample1() { var req:URLRequest = new URLRequest("MySound.mp3"); infoTextField.autoSize = TextFieldAutoSize.LEFT; infoTextField.text = "Please wait for the file to be loaded.\n" + "Then select from the bar to decide where the file should start."; snd.load(req); channel = snd.play(); snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); snd.addEventListener(Event.COMPLETE, completeHandler); this.addChild(infoTextField); } private function completeHandler(event:Event):void { infoTextField.text = "File is ready."; var bar:Sprite = new Sprite(); bar.graphics.lineStyle(5, 0xFF0000); bar.graphics.moveTo(100, 100); bar.graphics.lineTo(200, 100); bar.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(bar); } private function clickHandler(event:MouseEvent):void { var position:uint = event.localX; var percent:uint = Math.round(position) - 100; var cue:uint = (percent / 100) * snd.length; channel.stop(); channel = snd.play(cue); } private function errorHandler(errorEvent:IOErrorEvent):void { infoTextField.text = "The sound could not be loaded: " + errorEvent.text; } } }
Yapıcıda, ses yüklenir ve basit bir dörtgen button
sprite nesnesi oluşturulur. (Etkileşimliliği desteklemek için bir shape nesnesi yerine bir sprite nesnesi kullanılır.) Burada, ses dosyasının SWF dosyasıyla aynı dizin içinde olduğu varsayılmıştır. (Bu örnek için hata işlemesi kodu yoktur.)
Tek ve çift fare tıklatmalarına yanıt vermesi için iki olay dinleyicisi ayarlıdır. Kullanıcı bir kez tıklatırsa, sesi çalan clickHandler()
yöntemi çağrılır. Kullanıcı düğmeyi iki kez tıklatırsa, dosyayı iki kez çalacak olan doubleClickHandler()
yöntemi çağrılır. play()
yönteminin ikinci argümanı 1
olarak ayarlanır, bu sesin bir kez başlangıç zamanına döneceği ve yeniden çalacağı anlamına gelir. Başlangıç zamanı, ilk argüman, 0
olarak ayarlanır, bu dosyanın başlangıçtan itibaren çalacağını gösterir.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.media.Sound; import flash.net.URLRequest; public class Sound_playExample2 extends Sprite { private var button:Sprite = new Sprite(); private var snd:Sound = new Sound(); public function Sound_playExample2() { var req:URLRequest = new URLRequest("click.mp3"); snd.load(req); button.graphics.beginFill(0x00FF00); button.graphics.drawRect(10, 10, 50, 30); button.graphics.endFill(); button.addEventListener(MouseEvent.CLICK, clickHandler); button.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler); this.addChild(button); } private function clickHandler(event:MouseEvent):void { snd.play(); } private function doubleClickHandler(event:MouseEvent):void { snd.play(0, 2); } } }
Yapıcıda dosya yüklenirken ortaya çıkabilecek herhangi bir hatanın yakalanması için, dosya bir try...catch
bloğuna yüklenir. Ses nesnesine errorHandler()
yöntemini çağırarak IOErrorEvent
olayına yanıt verecek bir dinleyici eklenir. Ana uygulama için, oynatma ilerleyişini gösteren bir zamanlayıcı mekanizması olarak kullanılan Event.ENTER_FRAME
olayına yanıt verecek başka bir dinleyici eklenir. Son olarak ses kanalı için, soundCompleteHandler()
yöntemini çağırarak Event.SOUND_COMPLETE
olayına yanıt verecek (ses çalmayı durdurduğunda) üçüncü bir dinleyici daha eklenir. soundCompleteHandler()
yöntemi aynı zamanda Event.ENTER_FRAME
olayına yönelik olay dinleyicisini de kaldırır.
enterFrameHandler()
yöntemi, yüklenmekte olan ses verisinin yüzdesine ulaşmak için,·ProgressEvent
nesnesiyle iletilen bytesLoaded
değerini bytesTotal
değerine böler. Çalınmakta olan ses verilerinin yüzdesi, ses kanalının position
özelliğinin ses verisinin uzunluğuna bölünmesiyle belirlenebilir. Ancak, ses verisi tamamen yüklenmediyse, ses nesnesinin length
özelliği yalnızca geçerli olarak yüklenen ses verisinin boyutunu gösterir. Tam ses dosyasının nihai boyutu, geçerli ses nesnesinin length
değerinin, bytesTotal
özelliğinin değerine bölünen bytesLoaded
özelliğinin değerine bölünmesiyle tahmin edilebilir.
Dosyanın küçük, önbelleğe alınmış veya yerel dizinde bulunması durumunda, yükleme ilerlemesi fark edilmeyebilir. Aynı zamanda, ses verisinin yüklenmeye başlaması ve yüklenen verinin çalmaya başlaması arasındaki gecikme süresi, varsayılan olarak 1000 milisaniye olan ve sıfırlanabilen SoundLoaderContext.buffertime
özelliği tarafından belirlenir.
package { import flash.display.Sprite; import flash.net.URLRequest; import flash.media.Sound; import flash.media.SoundChannel; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.Event; import flash.events.IOErrorEvent; public class Sound_playExample3 extends Sprite { private var snd:Sound = new Sound(); private var channel:SoundChannel; private var statusTextField:TextField = new TextField(); public function Sound_playExample3(){ statusTextField.autoSize = TextFieldAutoSize.LEFT; var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3"); try { snd.load(req); channel = snd.play(); } catch (err:Error) { trace(err.message); } snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); addEventListener(Event.ENTER_FRAME, enterFrameHandler); channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); this.addChild(statusTextField); } private function enterFrameHandler(event:Event):void { var loadTime:Number = snd.bytesLoaded / snd.bytesTotal; var loadPercent:uint = Math.round(100 * loadTime); var estimatedLength:int = Math.ceil(snd.length / (loadTime)); var playbackPercent:uint = Math.round(100 * (channel.position / estimatedLength)); statusTextField.text = "Sound file's size is " + snd.bytesTotal + " bytes.\n" + "Bytes being loaded: " + snd.bytesLoaded + "\n" + "Percentage of sound file that is loaded " + loadPercent + "%.\n" + "Sound playback is " + playbackPercent + "% complete."; } private function errorHandler(errorEvent:IOErrorEvent):void { statusTextField.text = "The sound could not be loaded: " + errorEvent.text; } private function soundCompleteHandler(event:Event):void { statusTextField.text = "The sound has finished playing."; removeEventListener(Event.ENTER_FRAME, enterFrameHandler); } } }
complete | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.COMPLETE
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Veriler başarılı şekilde yüklendiğinde gönderilir.
Event.COMPLETE
sabiti, complete
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. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Yüklemesi tamamlanan network nesnesi. |
İlgili API Öğeleri
id3 | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.ID3
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir MP3 ses dosyasında ID3 dosyası bulunduğunda bir Sound nesnesi tarafından gönderilir.
Event.ID3
sabiti, id3
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. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | ID3 verilerinin şimdi kullanılabilir olduğu MP3'ü yükleyen Sound nesnesi. target her zaman olay dinleyicisini kaydeden görüntüleme listesindeki nesne değildir. Geçerli olarak olayı işleyen görüntüleme listesindeki nesneye erişmek için currentTarget özelliğini kullanın. |
İlgili API Öğeleri
ioError | Olay |
flash.events.IOErrorEvent
özellik IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir yükleme işleminin başarısız olmasına neden olan bir girdi/çıktı hatası ortaya çıktığında gönderilir.
ioError
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. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
errorID | Belirli bir hata mesajıyla ilişkili başvuru numarası (yalnızca AIR). |
target | Girdi/çıktı hatası yaşayan network nesnesi. |
text | Hata mesajı olarak gösterilecek metin. |
İlgili API Öğeleri
open | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.OPEN
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir yükleme işlemi başladığında gönderilir.
Event.OPEN
sabiti, open
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. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Bağlantıyı açan network nesnesi. |
İlgili API Öğeleri
progress | Olay |
flash.events.ProgressEvent
özellik ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
İndirme işleminin ilerlemesi sırasında veri alındığında gönderilir.
Birprogress
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
bytesLoaded | Dinleyici olayı işlerken yüklenen öğe veya bayt sayısı. |
bytesTotal | Yükleme işlemi başarılı olursa yüklenecek toplam öğe veya bayt sayısı. |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | İlerlemeyi bildiren nesne. |
İlgili API Öğeleri
sampleData | Olay |
flash.events.SampleDataEvent
özellik SampleDataEvent.type =
flash.events.SampleDataEvent.SAMPLE_DATA
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Çalışma zamanı yeni ses verileri istediğinde gönderilir.
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. |
Örnek ( Bu örnek nasıl kullanılır? )
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();
İlgili API Öğeleri
package { import flash.display.Sprite; import flash.events.*; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; public class SoundExample extends Sprite { private var url:String = "MySound.mp3"; private var song:SoundChannel; public function SoundExample() { var request:URLRequest = new URLRequest(url); var soundFactory:Sound = new Sound(); soundFactory.addEventListener(Event.COMPLETE, completeHandler); soundFactory.addEventListener(Event.ID3, id3Handler); soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler); soundFactory.load(request); song = soundFactory.play(); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function id3Handler(event:Event):void { trace("id3Handler: " + event); } private function ioErrorHandler(event:Event):void { trace("ioErrorHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler: " + event); } } }
Tue Jun 12 2018, 01:09 PM Z