Re: [討論] 從中間開始放音樂= =?

看板Flash作者 (moonet)時間15年前 (2008/10/07 19:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《wearytolove (奪真書生A.W.)》之銘言: : 後來對音樂做了一點小測試,就解決我的問題了Orz : 我是用Adobe CS3 的AS2.0的語法 : 我原本希望的要求是,可以從外部讀取mp3檔,同時從第3秒開始播放 : 因為前3秒的東西我不需要 : 會研究的原因,因為我有90個音效檔都要這樣處理 : 一開始我使用loadSound(路徑,true) 後面的true代表這檔是stream : 然而,stream的定義是一邊讀取一邊播放 : 所以不用打start()就會開始,也不能用start(開始秒,迴圈數)去定義他 : 因為是一邊讀取一邊播放,所以不能指定秒數 : 否則指定到沒讀到的或者根本沒有的秒數,電腦應該會聽不懂 : 我也有試著先定義position然後再用start,也是沒有用 : 後來我經過CJ大神的教學後,試著使用load(),可是也不行, : 因為讀取到一半時不能播放,CJ說可以用一個listener來看讀取完畢事件 : 我照做,可以真的再用start來控制秒數跟迴圈, : 可是我的檔案太大,所以要讀超久,跟我的程式需求不合 : 後來,我試著先把幾個音效檔匯入, : 然後用attachSound()來把變數定義給音效再來控制 : 然後就可以用start()來控制了 : 可是這個缺點是,因為會讓元件庫的東西大增 : 這樣我的swf檔會有上百MB,也不符合我的需要Orz : 最後呢? : 我用goldwave把一個一個的音效檔前三秒剪掉,問題就結束了 : Orz.............................. 關於這個問題... 我最近剛好在寫 mp3 player 我也遇到相同問題 重點: 1.使用串流方法載入外部音樂時仍然可以使用 start 函數來控制秒數 2.sound.position 傳回值是微秒 3.start 的秒數控制是以秒為單位 所以你可以用: sound.start(sound.position/1000) 從上次停止的地方繼續撥放 你也可以用 sound.start(3) 從第3秒撥放 完。 -- blog:http://etrex.blogspot.com/ site:http://web.ntust.edu.tw/~B9409041/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.120.112.234
文章代碼(AID): #18wqmhtC (Flash)
文章代碼(AID): #18wqmhtC (Flash)