as3 使用sound類(翻譯)-暫停和繼續播放聲音

[1b]問題十[/1b]
    如何暫停聲音,如何從暫停的地方繼續播放聲音。
[1b]解決方法[/1b]
    通過記錄當前聲音的SoundChannel的position屬性值,繼續播放時用剛剛的值恢復一下。
[1b]具體討論[/1b]
       在問題二中提到了sound對象的close()方法,它可以用來停止一個聲音文件的播放,但是,同時它也停止了聲音文件的加載,當重新播放的時候,我們必須重新調用load()方法。
       
       幸運的是,SoundChannel類提供了一個stop()方法,它可以使聲音文件停止播放而不停止加載,當再次播放音樂的時候,只要調用play()方法就可以了。
       
       我們應該記住:不管什麼時候只要是使用play()方法都是從文件開頭進行播放的,這相當於播放器中的“STOP■”按鈕。創建一個“PAUSE‖”按鈕稍微有點麻煩。解決的策略是:當按下按鈕的時候調用一個事件處理函數:這個函數從SoundChannel中讀取當前的position數據並把它保存起來,它提供了聲音文件已經播放了多少毫秒。把這個量保存爲類級別的,以便後面調用。此時,“PAUSE‖”按鈕變成“PLAY”按鈕,當再次被按下的時候,調用sound對象的play()方法,通過剛纔保存的位置信息,就能恢復到剛纔停下來的那地方繼續播放,下面給出例程:
       
[color="#ff6600"]package {[/color]
[color="#ff6600"]    import flash.display.Sprite;[/color]
[color="#ff6600"]    import flash.media.Sound;[/color]
[color="#ff6600"]    import flash.media.SoundChannel;[/color]
[color="#ff6600"]    import flash.net.URLRequest;
[/color]
本文轉自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1922.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章