0

Actionscript 3 / Flash 10で、タイムライン上に存在するサウンドオブジェクトをプログラムで参照することは可能ですか?次の構文を介してDisplayObjectsを参照するための例をたくさん見つけました。

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

しかし、これにはサウンドオブジェクトが含まれていないようです。同様に、Actionscriptを介してライブラリに存在するサウンドをインスタンス化して再生するのは簡単なようです。

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

ただし、私の目的では、設計者がタイムライン上で調整および配置したサウンドクリップ(理想的には特定のレイヤーにありますが、それは設計時の要素のようです)を参照して、波形を次のように検査できるようにします。実行時のコード。このようなもの:

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

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

4

1 に答える 1

1

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

タイムラインサウンドの波形を取得するためにcomputeSpectrumを使用する可能性をテストしようとしましたが、現在mp3のインポートに問題があります。概念実証が直接ないので、私は周りを検索して次のスレッドを見つけました。

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

このソリューションへのリンク

http://www.mail-archive.com/flashcoders@chattyfig.figleaf.com/msg43157.html

しかしもちろん、これでは異なるタイムラインサウンドを明確にすることはできません。私はあなたがそれを全くすることができないだろうとかなり確信しています。

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

于 2011-02-07T05:26:41.240 に答える