2009-07-31 24 views

答えて

3

私はちょうどそれが動作するのを見るためのテストをしました。

  1. 私は層 の[プロパティパネルからストリーミングするSyncを設定しただけで、タイムライン上の音を持っているムービークリップ(タイムライン はすべて 音を保持するのに十分な長さである)
  2. を作りましたそれは音を持っています。これは、 のサウンドが フレームと同期していることを意味します。
  3. 私は、 の がフレームと の同期されたサウンドを保持しているムービークリップを制御しているだけで、サウンドを制御するテスト用の2つのボタンを追加しました。

ここでは基本的なコードです:

//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と呼ばれるクラスがあり

0

に役立ちます願っています。あなたはすべてが

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に埋め込まれて個々のサウンドを制御したい場合は制御することができます。この場合、 SpriteMovieClipのクラスにはいずれも soundTransformというプロパティがあります。オブジェクトの soundTransformの属性を MovieClipまたは Spriteに変更して制御できます。

ライブラリーでSoundにリンケージを付けて、サウンドを動的に作成することもできます。しかしこの方法では、同期は達成できませんでした。

+0

7年半後、あなたの答えは、1時間の研究の後に私を救っただけです!ありがとうございました!!! –

5
//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; 
} 
関連する問題