ActionScript3 在 ROLL_OUT 时停止声音

发布于 2024-12-10 14:48:13 字数 417 浏览 0 评论 0原文

我正在尝试制作一个简单的交互式 Flash 动画,这样当您滚动一个不可见的按钮时,就会从库中播放声音,然后当您滚动时声音就会停止。

到目前为止,我有这个

import flash.events.Event;
import flash.media.SoundChannel;

stop();

button1.addEventListener(MouseEvent.ROLL_OVER,playSound);
function playSound(event:Event) {
var mySound:elmosample = new elmosample();
var myCahnnel:SoundChannel = mySound.play();
}`

有没有办法停止使用 ROLL_OUT 播放声音或在新声音开始时停止当前声音?

Im trying to make a simple interactive flash animation so when you roll over a invisible button a sound plays from the library, then when you roll out the sound stops.

So far i have this

import flash.events.Event;
import flash.media.SoundChannel;

stop();

button1.addEventListener(MouseEvent.ROLL_OVER,playSound);
function playSound(event:Event) {
var mySound:elmosample = new elmosample();
var myCahnnel:SoundChannel = mySound.play();
}`

Is there a way to stop the sound playing with ROLL_OUT or stop the current sound when a new one starts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌无敌 2024-12-17 14:48:13

也许在推出时编写一个函数?

button1.addEventListener(MouseEvent.ROLL_OUT,stopSound);

并且一次只播放一首歌曲
也许将你的声音变量名称放入一个数组中
并且只使用一个通道?
但我不确定你如何演奏新声音
所以我无法给你一个明确的答案

希望这会有所帮助

maybe write a function on roll out ?
something like

button1.addEventListener(MouseEvent.ROLL_OUT,stopSound);

and with only playing one song at one time
maybe put your sound variable name into one array
and only use one channel ?
but I am not sure how you play a new sound
so I can't give you a clear answer

hope this helps

若水般的淡然安静女子 2024-12-17 14:48:13
import flash.events.Event;
import flash.media.SoundChannel;

stop();

var mySound:Sound;
var myChannel:SoundChannel;

button1.addEventListener(MouseEvent.ROLL_OVER, onRollOver);
button1.addEventListener(MouseEvent.ROLL_OUT, onRollOut);   

function onRollOver(e:Event):void 
{
  //stop previous sounds
  if(myChannel)
    myChannel.stop();

  mySound = new elmosample();
  myChannel = mySound.play();
}

function onRollOut(e:Event):void
{
  myChannel.stop();
}
import flash.events.Event;
import flash.media.SoundChannel;

stop();

var mySound:Sound;
var myChannel:SoundChannel;

button1.addEventListener(MouseEvent.ROLL_OVER, onRollOver);
button1.addEventListener(MouseEvent.ROLL_OUT, onRollOut);   

function onRollOver(e:Event):void 
{
  //stop previous sounds
  if(myChannel)
    myChannel.stop();

  mySound = new elmosample();
  myChannel = mySound.play();
}

function onRollOut(e:Event):void
{
  myChannel.stop();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文