Re: [问题] 加载外部音乐 重复问题

楼主: KawasumiMai (さあ、死ぬがいい)   2013-08-13 16:46:36
※ 引述《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
这样就不用用影格换音乐
作者: palfan1225 (palfan)   2013-08-13 22:37:00
用影格换音乐,是因为不同影格我建了不同主题物件。想在不同主题播放不同的音乐。所以...K大的写法是我直接复制您写好的语法到影格的"动作",就OK了吗?? (刚刚直接复制语法到影格的动作,有产生错误讯息,说"无法加载类别 'Event' "k大,您第一个影格是如何判断要加载的音乐档名?请问您新写的语法是第一个影格直接放入音乐至场景,第二个影格用load音乐的吗。我要设置的影格有4个,我原本写的语法是都可以换不同音乐,但不能重复播放音乐,是我比较困恼的>"<
楼主: KawasumiMai (さあ、死ぬがいい)   2013-08-13 23:39:00
首先,你和我写法的最大的差异,在于"事件"也就是第一格的onSoundComplete其次,"事件"是跟着"物件"的,只要满足条件就会发动所以"每次歌曲结束"都会让他再重新播放一次只要第一格写了那三行,第二格以后就不用写只要针对mySound去作loadSound跟start还有stop的动作第一格并没有加载音乐,只有宣告物件跟事件第二格才叫他加载music.mp3,当然你可以用变量控制
作者: palfan1225 (palfan)   2013-08-14 21:20:00
解决了解决了,万分感谢K大 (* ̄▽ ̄)/‧★*"`'*-.,我把K大影格1的语法写在另一个图层。汇入音乐的不同影格在同一个图层,都能使用"事件"的语法。谢谢K大的推文补充,才知道写法的差异,就恍然顿悟了<(_ _)>

Links booklink

Contact Us: admin [ a t ] ucptt.com