溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Flex播放器的用法示例

發(fā)布時間:2021-12-04 14:00:01 來源:億速云 閱讀:167 作者:小新 欄目:編程語言

小編給大家分享一下Flex播放器的用法示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Flex播放器

mx:ProgressBar實現(xiàn)加載歌曲緩沖進(jìn)度條

ProgressBar有三大mode模式,分別為event、manual、polled,event為基于事件驅(qū)動模式,可設(shè)置source對象自動顯示加載進(jìn)程;manual為手動模式,需要調(diào)用ProgressBar.setProgress()方法設(shè)置滾動條進(jìn)度;polled為輪詢模式,本例使用的manual模式,Sound加載load請求歌曲添加一個ProgressEvent.PROGRESS處理中監(jiān)聽事件,然后根據(jù)Sound已加載的bytes和bytesTotal數(shù),設(shè)置setProgress進(jìn)度。這里需要注意在切換歌曲的時候先要移除ProgressEvent.PROGRESS事件,否則之前播放歌曲還未加載完又切換load新歌曲時回出現(xiàn)ProgressBar觸發(fā)多個PROGRESS事件被設(shè)置進(jìn)度出現(xiàn)來回滾動的問題。

mx:HSlide調(diào)節(jié)滑稈

這個控件在本例中2處使用,實現(xiàn)對Flex播放器播放進(jìn)度和聲音大小的控制。最一開始調(diào)整播放進(jìn)度的問題難倒了我很久,因為在歌曲播放過程中HSlide要自動滑動當(dāng)前播放位置,同時又需要能手動拖動播放位置,HSlide本來有一個很好的change事件用來偵聽改變,但是我使用定時器設(shè)置HSlide的value的時竟然也給我觸發(fā)change事件,參考了Adobe哥官網(wǎng)的幫助文檔,說是Slider組件的值因鼠標(biāo)或鍵盤交互操作而改變時調(diào)度,如果liveDragging屬性是true,則在用戶移動滑塊時持續(xù)調(diào)度該事件。如果liveDragging是false,則在用戶釋放滑塊時調(diào)度該事件。但是無論我怎么設(shè)置,在代碼里改變了HSlide的value值怎會觸發(fā)change事件,不是說在用戶交互操作而改變時調(diào)度嗎?無賴啊,后來只能折中采取監(jiān)聽thumbDrag滑稈拖動時事件,這個事件Adobe哥的解釋是當(dāng)按下滑塊并隨后隨鼠標(biāo)移動時調(diào)度,這樣會有一個小問題,就是需要拖動滑稈按下時才會觸發(fā),點擊無效。

SoundMixer.computeSpectrum()分析音頻曲線

本例你看到顯示的音頻曲線其實是右64個繪制成條狀的Canvas控件排列而成,然后使用定時器每間隔100毫秒重新設(shè)置他們的scaleY位置以呈現(xiàn)出變幻曲線的效果,代碼只有三行很簡單,具體可參見我下面源碼給出的timerTick事件。這里為什么要用定時器呢?在網(wǎng)上看別人是監(jiān)聽Event.ENTER_FRAME事件重繪音頻曲線的,不想搞那么麻煩就直接用定時器了,隨便根據(jù)bytesTotal和bytesLoaded計算下歌曲播放時間,使用100毫秒的定時器也并好耗站資源,CPU沒有漲很高。

以上是“Flex播放器的用法示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI