// sound是Sound类对象,里面加载你放的声音
var channel:SoundChannel = soundplay(0);
// 给声道channel家,sound_complete监听,判断是否播放结束
channeladdEventListener(EventSOUND_COMPLETE, soundCompleteHandler);
private function soundCompleteHandler(event:Event):void {
trace("soundCompleteHandler: " + event);
//声音播放结束后的其它处理
}
你又不是用类写,用类写就没有这样的场景问题了,如果在时间轴写,就要加个if,判断声音对象是否已经创建
if(!s){
s:Sound = new TestSound() as Sound;
var channel:SoundChannel = new SoundChannel();
var pausePosition:int = channelposition;
)
这是连续播放多首且循环的AS3代码
import flashmediaSound;
import flasheventsEvent;
var mySound:Sound;
var soundchannel:SoundChannel;
var soundarr:Array = ["1mp3","2mp3","3mp3"];
var index:int = 0;
playnext();
function playnext():void
{
if (index<soundarrlength)
{
mySound=new Sound();
mySoundload(new URLRequest(soundarr[index]));
soundchannel = mySoundplay();
soundchanneladdEventListener(EventSOUND_COMPLETE,docomplete);
index++;
}
if (index==soundarrlength)
{
index = 0;
}
}
function docomplete(e:Event):void
{
playnext();
}
你是想要播放MP3音乐吗如果要控制mp3文件的播放,就必须将你导入的mp3文件作为一个Sound类的实例进行 *** 作。比较推荐的方法是动态导入,如果你已经在制作过程中导入到库里了,那么应该像下面这样:
1右键点选库中的mp3文件
--
属性
--
将
为ActionScript导出
一项勾选。
2在这个面板中
类
的那一栏填入:MyMP3
,然后点确定。这时会有一个提示出现,说无法在类路径中找到对此类的定义XXXX……,无视它,点确定。
3在你想要插入音乐并开始播放的那一帧上写如下代码:
var
mp3:MyMP3
=
new
MyMP3();
var
mp3Channel:SoundChannel
=
new
SoundChannel();
mp3Channel
=
mp3play();
4在你想要停止播放音乐的那一帧写如下代码:
mp3Channelstop();
5好了,试试看。
你先不要用IF {} 用SWITH CASE试试
var sound:Sound;
var soundchannel:SoundChannel=new SoundChannel();
stageaddEventListener(KeyboardEventKEY_DOWN,an);
function an(ancs:KeyboardEvent):void {
swith case ancskeyCode{
case 65:
sound=new Sound1();
soundchannel=soundplay();
break;
case 66:
sound=new Sound2();
soundchannel=soundplay();
break;
}
}
PS你写得没有效率
我的没有检验 也不一定对
sound1sound26是你写得Sound的子类?
以上就是关于as3 如何判断声音已经播放完全部的内容,包括:as3 如何判断声音已经播放完、Adobe flash CS4 AS3多场景下音乐控制问题、FLASH AS3.0加载外部音乐怎么循环播放等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)