長さが1分30分のサウンドがあります。私はそれを私のswfに埋め込み、フレームと同期するように設定しました。私は、このサウンドをActionScriptで一時停止して再生できるようにする必要があります。AS3のフラッシュで埋め込みサウンドを一時停止/再生する方法
どのようにすればいいですか?
長さが1分30分のサウンドがあります。私はそれを私のswfに埋め込み、フレームと同期するように設定しました。私は、このサウンドをActionScriptで一時停止して再生できるようにする必要があります。AS3のフラッシュで埋め込みサウンドを一時停止/再生する方法
どのようにすればいいですか?
私はちょうどそれが動作するのを見るためのテストをしました。
ここでは基本的なコードです:
//playBtn and pauseBtn are two basic buttons
//sound is the movie clip that holds the synched sound in its timeline
playBtn.addEventListener(MouseEvent.CLICK, playSound);
pauseBtn.addEventListener(MouseEvent.CLICK, pauseSound);
function playSound(event:MouseEvent):void{
sound.play();
}
function pauseSound(event:MouseEvent):void{
sound.stop();
}
は、それはあなたが世界的に埋め込まれたサウンドを制御したい場合は、AS3がSoundMixer
と呼ばれるクラスがあり
に役立ちます願っています。あなたはすべてが
SoundMixer.soundTransform = new SoundTransform(0); //This will mute all sound from SWF.
SoundMixer.soundTransform = new SoundTransform(1); //This will unmute all sound from SWF.
、コード以下のように世界的に聞こえるしかし、あなたは文句を言わない方法仕事上、
MovieClip
Sに埋め込まれて個々のサウンドを制御したい場合は制御することができます。この場合、
Sprite
と
MovieClip
のクラスにはいずれも
soundTransform
というプロパティがあります。オブジェクトの
soundTransform
の属性を
MovieClip
または
Sprite
に変更して制御できます。
ライブラリーでSound
にリンケージを付けて、サウンドを動的に作成することもできます。しかしこの方法では、同期は達成できませんでした。
//number that is redefined when the pause button is hit
var pausePoint:Number = 0.00;
//a true or false value that is used to check whether the sound is currently playing
var isPlaying:Boolean;
//think of the soundchannel as a speaker system and the sound as an mp3 player
var soundChannel:SoundChannel = new SoundChannel();
var sound:Sound = new Sound(new URLRequest("SOUND.mp3"));
//you should set the xstop and xplay values to match the instance names of your stop button and play/pause buttons
xstop.addEventListener(MouseEvent.CLICK, clickStop);
xplay.addEventListener(MouseEvent.CLICK, clickPlayPause);
soundChannel = sound.play();
isPlaying = true;
function clickPlayPause(evt:MouseEvent) {
if (isPlaying) {
pausePoint = soundChannel.position;
soundChannel.stop();
isPlaying = false;
} else {
soundChannel = sound.play(pausePoint);
isPlaying = true;
}
}
function clickStop(evt:MouseEvent) {
if (isPlaying) {
soundChannel.stop();
isPlaying = false;
}
pausePoint = 0.00;
}
7年半後、あなたの答えは、1時間の研究の後に私を救っただけです!ありがとうございました!!! –