2011-01-21 3 views
0

Actionscript 3/Flash 10では、タイムライン上に存在するサウンドオブジェクトをプログラムで参照できますか?私は以下のsytaxを使ってDisplayObjectsを参照するための多くの例を見つけました:は、タイムライン上の既存のサウンドオブジェクトをactionscript経由で参照しています。3

var m:MovieClip = stage.getChildByName("SomeMovieClipClass"); 
var n:MovieClip = stage.getChildByIndex(1); 

しかし、これはサウンドオブジェクトを含んでいないようです。それはそうですが、私は、理想的には、特定の層に(サウンドクリップを参照したいのですが、しかし、私の目的のために

var s:SoundClip1 = new SoundClip1(); // exported in first frame via properties 
s.play(); 

:同様に、インスタンス化し、ActionScriptを使用してライブラリに存在するサウンドを再生するのは簡単そうですデザイナーがタイムライン上で調整し整理したもので、実行時にコードで波形を検査することができます。このようなもの:

// Imaginary Code 
sc = timeline.getSoundClipByName("SoundClip1"); 
sc.extract(waveform,sc.length/1000 * bitrate); 

これは可能ですか?ありがとう!

答えて

1

現在のところ、タイムラインサウンドで生成されたsoundChannelにアクセスすることはできません。私が実現したいと思う機能です。

私はcomputeSpectrumを使用してタイムラインサウンドの波形を取得することの可能性をテストしようとしていましたが、今はmp3をインポートする際に問題があります。コンセプトの身をもって証明がない場合には、私の周りを検索し、このスレッドが見つかりました:

http://www.kirupa.com/forum/showthread.php?t=329632

これは、あなたが明確にすることはできません

http://www.mail-archive.com/[email protected]/msg43157.html

しかし、もちろんの

このソリューションにリンク異なるタイムラインの音の間。私はあなたがまったくそれをすることができないと確信しています。

私はSound.extract()を使用したことはありませんが、サウンドがFLAライブラリに存在する場合は、クラス名を指定して実行時にextract()を使用して、自分の目的、はい?適切なタイムラインサウンドが再生されるたびに、サウンドオブジェクトから波形をタップすることができます。おそらくタイムラインのコールバックやイベントでこれで十分でしょうか?

+0

驚くべきことに、音をクラスに与えても、サウンドがタイムラインで開始されたときにコンストラクタが呼び出されるようには見えません。私はこれがなぜなのか分からないので、回避策としてタイムライン上でサウンドが始まるたびにactionscriptの行を呼び出しています。それはかなりではありませんが、当分の間働いています。 – pho79

+0

それはどういうわけか私を驚かせることはありません。私はそれがswfそれ自身であるときに音が構築されていると思うことで確かに言うことができません。聞こえる「サウンド」はsoundChannelオブジェクトなので、意味のある方法でSoundChannelを拡張する方法はありません(したがって、インスタンス化を追跡する方法はありません)。 – scriptocalypse

関連する問題