Paket | flash.media |
Sınıf | public final class SoundChannel |
Miras Alma | SoundChannel EventDispatcher Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
stop()
yöntemi, kanalın genliğini (ses düzeyi) izlemeye yönelik özellikleri ve kanala bir SoundTransform nesnesi atamaya yönelik bir özelliği içerir.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
leftPeak : Number [salt okunur]
Sol kanalın 0 (sessiz) ile 1 (tam genlik) arasındaki geçerli genliği (ses düzeyi). | SoundChannel | ||
position : Number [salt okunur]
Ses çalınırken, position özelliği, ses dosyasında oynatılmakta olan geçerli noktayı milisaniye cinsinden belirtir. | SoundChannel | ||
rightPeak : Number [salt okunur]
Sağ kanalın 0 (sessiz) ile 1 (tam genlik) arasındaki geçerli genliği (ses düzeyi). | SoundChannel | ||
soundTransform : flash.media:SoundTransform
Ses kanalına atanan SoundTransform nesnesi. | SoundChannel |
Yöntem | Tanımlayan: | ||
---|---|---|---|
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 | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
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 | ||
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 | ||
Kanalda çalınan sesi durdurur. | SoundChannel | ||
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 | |||
[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. | EventDispatcher | |||
Bir sesin çalınması tamamlandığında gönderilir. | SoundChannel |
leftPeak | özellik |
position | özellik |
position:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ses çalınırken, position
özelliği, ses dosyasında oynatılmakta olan geçerli noktayı milisaniye cinsinden belirtir. Ses durdurulduğunda veya duraklatıldığında, position
özelliği, ses dosyasında oynatılmış olan son noktayı belirtir.
Bu yaygın olarak, ses durdurulduğunda position
özelliğinin değerini kaydetmekte kullanılır. Daha sonra sesi kaydedilmiş konumundan yeniden başlatarak ses çalmasını devam ettirebilirsiniz.
Ses döngüye alınmışsa, her döngünün başlangıcında position
öğesi sıfırlanır (0).
Uygulama
public function get position():Number
rightPeak | özellik |
soundTransform | özellik |
soundTransform:flash.media:SoundTransform
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ses kanalına atanan SoundTransform nesnesi. SoundTransform nesnesi, ses düzeyini ayarlama, ses kaydırma, sol hoparlör ataması ve sağ hoparlör atamasına yönelik özellikleri içerir.
Uygulama
public function get soundTransform():flash.media:SoundTransform
public function set soundTransform(value:flash.media:SoundTransform):void
İlgili API Öğeleri
stop | () | yöntem |
public function stop():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Kanalda çalınan sesi durdurur.
Örnek ( Bu örnek nasıl kullanılır? )
Yapıcıda ses dosyası yüklenir. (Bu örnekte, dosyanın SWF dosyasıyla aynı dizin içinde olduğu varsayılmıştır.) Kullanıcının sesi çalması veya duraklatması için metin alanı bir düğme olarak kullanılır. Kullanıcı button
metin alanını seçtiğinde, clickHandler()
yöntemi çağrılır.
clickHandler()
yönteminde, kullanıcı metin alanını ilk tıklattığı anda, ses, çalınacak şekilde ayarlanır ve bir ses kanalına atanır. Ardından, kullanıcı duraklatmak için metin alanını seçer ve ses çalması durdurulur. Ses kanalının position
özelliği, durdurulduğu anda sesin konumunu kaydeder. Bu özellik, kullanıcı tekrar çalmayı başlatmak için metin alanını seçtikten sonra o konumdan başlayarak ses çalmasını devam ettirmek için kullanılır. Sound.play()
yöntemi her çağrıldığında yeni bir SoundChannel nesnesi oluşturulur ve channel
değişkenine atanır. Sesi duraklatmak üzere ses kanalının stop()
yöntemini kullanmak için Sound nesnesinin bir SoundChannel nesnesine atanması gerekir.
package { import flash.display.Sprite; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.TextField; import flash.events.MouseEvent; import flash.text.TextFieldAutoSize; public class SoundChannel_stopExample extends Sprite { private var snd:Sound = new Sound(); private var channel:SoundChannel = new SoundChannel(); private var button:TextField = new TextField(); public function SoundChannel_stopExample() { var req:URLRequest = new URLRequest("MySound.mp3"); snd.load(req); button.x = 10; button.y = 10; button.text = "PLAY"; button.border = true; button.background = true; button.selectable = false; button.autoSize = TextFieldAutoSize.CENTER; button.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(button); } private function clickHandler(e:MouseEvent):void { var pausePosition:int = channel.position; if(button.text == "PLAY") { channel = snd.play(pausePosition); button.text = "PAUSE"; } else { channel.stop(); button.text = "PLAY"; } } } }
soundComplete | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.SOUND_COMPLETE
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir sesin çalınması tamamlandığında gönderilir.
Event.SOUND_COMPLETE
sabiti, soundComplete
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 | Üzerinde ses çalması biten SoundChannel nesnesi. |
Örnek ( Bu örnek nasıl kullanılır? )
Yapıcıda, şarkı listesini ve oynatma seçimi satırını tutan bir metin alanı tanımlanır. (Genellikle, oynatma için düğmeler ve şarkı listesi için liste kutuları kullanılır.) Seçildikten sonra şarkı satırlarının biçimini italik olarak değiştiren bir metin biçimi nesnesi tanımlanır. Kullanıcı metin alanını seçtiğinde, clickHandler()
yöntemi çağrılır.
clickHandler()
yönteminde, metin alanı nesnesinin getLineIndexAtPoint()
yöntemi, kullanıcının seçtiği satırın dizinini döndürür. Satır dizini kullanılarak getLineText()
yöntemi metnin içeriğini alır. if ifadesi, kullanıcının bir şarkı çalmayı mı yoksa şarkıyı oynatma listesine eklemeyi mi seçtiğini kontrol eder. Kullanıcı oynatmayı seçtiyse ve bir şarkı seçildiyse, fare tıklatmasının olay dinleyicisi kaldırılır ve şarkıların çalınmasını başlatmak için playNext()
yöntemi çağrılır. Kullanıcı bir şarkı başlığını seçtiyse, satırın içeriği songList
dizisine eklenir ve satırın biçimi italik olarak ayarlanır.
Şarkıların her birini yüklemek ve çalmak için dizi listesi boyunca playNext()
yöntemi yinelenir. Ayrıca şarkı da bir ses kanalına atanır. Şarkının çalınması sona erdiğinde yanıt vermesi için ses kanalına bir olay dinleyicisi eklenir ve Event.SOUND_COMPLETE
olayı gönderilir. Daha sonra soundCompleteHandler()
yöntemi bir sonraki şarkıyı çalmak için playNext()
yöntemini çağırır. Dizide listelenen tüm şarkıların çalınması sona erinceye kadar işlem devam eder.
package { import flash.display.Sprite; import flash.media.Sound; import flash.media.SoundChannel; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.MouseEvent; import flash.text.TextFormat; import flash.net.URLRequest; import flash.events.Event; import flash.events.IOErrorEvent; public class SoundChannel_event_soundCompleteExample extends Sprite { private var channel:SoundChannel = new SoundChannel(); private var songList:Array = new Array(); private var listTextField:TextField = new TextField(); private var songFormat:TextFormat = new TextFormat(); private var arrayIndex:int = 0; private var songSelected:Boolean = false; public function SoundChannel_event_soundCompleteExample() { listTextField.autoSize = TextFieldAutoSize.LEFT; listTextField.border = true listTextField.background = true; listTextField.text = "Song1.mp3\n" + "Song2.mp3\n" + "Song3.mp3\n" + "Song4.mp3\n" + "PLAY"; songFormat.italic = true; listTextField.addEventListener(MouseEvent.CLICK, clickHandler); addChild(listTextField); } private function clickHandler(e:MouseEvent):void { var index:int = listTextField.getLineIndexAtPoint(e.localX, e.localY); var line:String = listTextField.getLineText(index); var firstIndex:uint = listTextField.getLineOffset(index); var playLine:uint = listTextField.numLines - 1; if((index == playLine) && (songSelected == true)) { listTextField.removeEventListener(MouseEvent.CLICK, clickHandler); playNext(); } else if (index != playLine) { songList.push(line.substr(0, (line.length - 1))); listTextField.setTextFormat(songFormat, firstIndex, (firstIndex + listTextField.getLineLength(index))); songSelected = true; } } private function playNext():void { if(arrayIndex < songList.length) { var snd:Sound = new Sound(); snd.load(new URLRequest(songList[arrayIndex])); channel = snd.play(); channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); arrayIndex++; } else { songSelected = false; while(arrayIndex > 0) { songList.pop(); arrayIndex--; } } } private function soundCompleteHandler(e:Event):void { playNext(); } private function errorHandler(errorEvent:IOErrorEvent):void { trace(errorEvent.text); } } }
package { import flash.display.Sprite; import flash.events.*; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; import flash.utils.Timer; public class SoundChannelExample extends Sprite { private var url:String = "MySound.mp3"; private var soundFactory:Sound; private var channel:SoundChannel; private var positionTimer:Timer; public function SoundChannelExample() { var request:URLRequest = new URLRequest(url); soundFactory = 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); channel = soundFactory.play(); channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); positionTimer = new Timer(50); positionTimer.addEventListener(TimerEvent.TIMER, positionTimerHandler); positionTimer.start(); } private function positionTimerHandler(event:TimerEvent):void { trace("positionTimerHandler: " + channel.position.toFixed(2)); } 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); positionTimer.stop(); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler: " + event); } private function soundCompleteHandler(event:Event):void { trace("soundCompleteHandler: " + event); positionTimer.stop(); } } }
Tue Jun 12 2018, 01:09 PM Z