Re: [問題] 載入外部音樂 重複問題

看板Flash作者 (闇に沈んだ刃)時間11年前 (2013/08/13 16:46), 編輯推噓3(3019)
留言22則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《palfan1225 (palfan)》之銘言: : 原文恕刪,都沒看到回覆,只好再次發問, : google好久、爬文,都無法解決, : 再請各位大大賜教如何在不同的影格都loadSound。 : 不同影格播放不同音樂,而且各個影格的音樂都能重複播放。 : 請問"最初語法"是要作何修改呢?感謝回覆 : 最初語法如下 : var mySound = new Sound(); : mySound.loadSound("music.mp3", true); : 最常看到的解決語法是(都試過,匯出影片都只能播放1次,沒有重複播放) 土法煉鋼 var bgm:Sound=new Sound() //新增一個聲音物件 var bgmSC:SoundChannel=new SoundChannel() //新增一個聲音控制物件 bgm.addEventListener(Event.COMPLETE,play_bgm) //新增一個"載入完成"事件 bgm.load(new URLRequest("music.mp3")) //載入檔案 //這個function在music.mp3載入完成後會執行一次 function play_bgm(event:Event){ bgmSC=bgm.play() //將聲音控制物件連結聲音物件 stage.addEventListener(Event.ENTER_FRAME,loop_bgm) //利用影格事件判定 } function loop_bgm(event:Event){ if(bgmSC.position>=bgm.length-100){ bgmSC=new SoundChannel() bgmSC=bgm.play(0) } } length-100的100跟play(0)的0可以自行測試,可以達到無縫接軌 如果不需要只要都打0就可以了 用變數變更music.mp3然後load 這樣就不用用影格換音樂 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.175.7.125

08/13 22:37, , 1F
用影格換音樂,是因為不同影格我建了不同主題物件。想
08/13 22:37, 1F

08/13 22:38, , 2F
在不同主題播放不同的音樂。所以...K大的寫法是我直接
08/13 22:38, 2F

08/13 22:39, , 3F
複製您寫好的語法到影格的"動作",就OK了嗎?? (剛剛直
08/13 22:39, 3F

08/13 22:40, , 4F
接複製語法到影格的動作,有產生錯誤訊息,說"無法載入
08/13 22:40, 4F

08/13 22:40, , 5F
類別 'Event' "
08/13 22:40, 5F
沒注意到你的loadSound跟start() 這兩個方法看起來是AS2.0的,這篇寫的是3.0的 補上2.0的寫法,已經好久沒有碰了,剛剛測試了一下應該OK 影格1: var mySound = new Sound(); mySound.onSoundComplete=function(){ mySound.start(); } 影格2: mySound.loadSound("music.mp3",true); stop(); 這個寫法結果代表 在第一格對mySound新增了事件來loop音樂 接著第二格以後只要對mySound作loadSound("不同音樂") 就可以切換不同音樂了 P.S.前面用EnterFrame的判定方法,是之前研究"無縫"的結論 如果不需要作到無縫,可以直接使用內定的完成事件就好 ※ 編輯: KawasumiMai 來自: 1.175.7.125 (08/13 23:16)

08/13 23:35, , 6F
k大,您第一個影格是如何判斷要載入的音樂檔名?請問您
08/13 23:35, 6F

08/13 23:36, , 7F
新寫的語法是第一個影格直接放入音樂至場景,第二個影
08/13 23:36, 7F

08/13 23:37, , 8F
格用load音樂的嗎。我要設置的影格有4個,我原本寫的語
08/13 23:37, 8F

08/13 23:38, , 9F
法是都可以換不同音樂,但不能重複播放音樂,是我比較
08/13 23:38, 9F

08/13 23:38, , 10F
困惱的>"<
08/13 23:38, 10F

08/13 23:39, , 11F
首先,你和我寫法的最大的差異,在於"事件"
08/13 23:39, 11F

08/13 23:40, , 12F
也就是第一格的onSoundComplete
08/13 23:40, 12F

08/13 23:40, , 13F
其次,"事件"是跟著"物件"的,只要滿足條件就會發動
08/13 23:40, 13F

08/13 23:40, , 14F
所以"每次歌曲結束"都會讓他再重新播放一次
08/13 23:40, 14F

08/13 23:41, , 15F
只要第一格寫了那三行,第二格以後就不用寫
08/13 23:41, 15F

08/13 23:41, , 16F
只要針對mySound去作loadSound跟start還有stop的動作
08/13 23:41, 16F

08/13 23:42, , 17F
第一格並沒有載入音樂,只有宣告物件跟事件
08/13 23:42, 17F

08/13 23:42, , 18F
第二格才叫他載入music.mp3,當然你可以用變數控制
08/13 23:42, 18F
※ 編輯: KawasumiMai 來自: 1.175.7.125 (08/13 23:50)

08/14 21:20, , 19F
解決了解決了,萬分感謝K大 (* ̄▽ ̄)/‧★*"`'*-.,
08/14 21:20, 19F

08/14 21:21, , 20F
我把K大影格1的語法寫在另一個圖層。匯入音樂的不同影
08/14 21:21, 20F

08/14 21:22, , 21F
格在同一個圖層,都能使用"事件"的語法。謝謝K大的推文
08/14 21:22, 21F

08/14 21:23, , 22F
補充,才知道寫法的差異,就恍然頓悟了<(_ _)>
08/14 21:23, 22F
文章代碼(AID): #1I2V9lAQ (Flash)
文章代碼(AID): #1I2V9lAQ (Flash)