Flash播放/暂停声音切换按钮

时间:2010-09-11 07:26:22

标签: flash actionscript-3

我用谷歌搜索和谷歌搜索,但没有得到任何地方或过时的教程。任何人都知道如何制作它,以便我可以使用Flash上​​的ActionScript 3使用按钮切换音频?

2 个答案:

答案 0 :(得分:5)

要切换播放/暂停,您需要记录用户暂停音频的位置。

要在屏幕截图中使用库中的声音,您需要将该声音文件提供给您的Actionscript。

首先,右键单击库中的声音文件,然后单击Properties...。在“属性”窗口中,选中Export for Actionscript框。将班级名称更改为您自己的名称,例如MySong

现在在代码中,而不是指向外部声音文件,您将mySound成为MySong的实例。

var isPlaying:Boolean;
var pausePosition:Number;
var myChannel:SoundChannel = new SoundChannel();
// edited mySound to use an internal sound file with Class of MySong
var mySound:Sound = new MySong();
var myButton:MovieClip;

myButton.addEventListener(MouseEvent.CLICK, playPauseClicked);

myChannel = mySound.play();
isPlaying = true;

function playPauseClicked(e:MouseEvent):void
{
    if (isPlaying) {
        pausePosition = myChannel.position;
        myChannel.stop();
        isPlaying = false;
        // change the display of your button to show the pause state
    } else {
        myChannel = mySound.play(pausePosition);
        isPlaying = true;
        // change the display of your button to show the playing state
    }
}

使用外部文件

您需要使用URLRequest类指向mp3文件所在的位置。如果文件与您发布的swf文件位于同一目录中,它将如下所示。

var mySound:Sound = new Sound(new URLRequest("whatever.mp3"));

答案 1 :(得分:0)

您需要使用SoundTransform(flash.media)和SoundChannel(flash.media)。

var mySound:Sound = new Sound(req);
var mySC:SoundChannel = mySound.play(1);
var myST:SoundTransform = mySC.soundTransform;
myST.volume = 0; // To mute
myST.volume = 1; // To unmute
mySC.soundTransform = myST;

这使用了SoundChannel的soundTransform属性,除了其他功能外,它还可以控制音量。请记住,你必须保留mySound和mySC,而myST只是一个变量,例如,在函数中。