as3.0 当跳到其他帧的时候关闭当前帧的声音
如题。每个帧都有背景音,也分别有一个控制声音的键,现在就是希望在各个帧来回变换的时候能关闭之前那个帧的声音。用过SoundMixer.stopAll();但是跳到其他帧之...
如题。
每个帧都有背景音,也分别有一个控制声音的键,现在就是希望在各个帧来回变换的时候能关闭之前那个帧的声音。
用过SoundMixer.stopAll();
但是跳到其他帧之后就什么声音都没有了。
stopAllSound();的话说是访问可能未定义的属性,感觉也不能用。
真的试过好多方法了,一直无解
故求解答。
急,在线等! 展开
每个帧都有背景音,也分别有一个控制声音的键,现在就是希望在各个帧来回变换的时候能关闭之前那个帧的声音。
用过SoundMixer.stopAll();
但是跳到其他帧之后就什么声音都没有了。
stopAllSound();的话说是访问可能未定义的属性,感觉也不能用。
真的试过好多方法了,一直无解
故求解答。
急,在线等! 展开
展开全部
单独控制声音,暂时知道的有两种方法,
1、元件控制,将声音放到影片剪辑中去,之后声音同步属性选“数据流”,延长帧,到达或超过声音流(即蓝色的波形)长度。
控制方法:直接停止和播放影片剪辑即可。
2、使用Sound类进行播放声音
控制方法:在Sound.play()时,有返回SoundChannel类,此时将SoundChannel记录起来,在需要停止时使用SoundChannel.stop();来停止声音
另外,stopAllSound()是错误的代码,应该是stopAllSounds(),少了个s。而且stopAllSounds只适用于as2.0。功能跟SoundMixer.stopAll();一样,也是全部停止的。
给个Sound类停止例子代码
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.utils.getDefinitionByName;
var sound:Sound = getSound("url_sound");//url_sound是库中声音的AS链接
var channel:SoundChannel = sound.play();
//停止代码,在需要停止时,调用
//channel.stop();
/**获取声音*/
function getSound(url:String):Sound{
var cls:Class = getDefinitionByName(url) as Class;
return new cls() as Sound;
}
//之所以使用函数来获取声音,主要是考虑到多声音情况。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询