2

Flash Builder と Flash Pro を組み合わせたプロジェクトがあります。タイムライン上でサウンド アセットを管理する手間がかかるため、私のサウンドはすべて、次のようなクラス ファイルに埋め込まれています。

[Embed (source="/mp3/Welcome_01_V.mp3", mimeType="audio/mpeg")]
private static const WELCOME_1:Class;

これらのファイルは、それらを必要とするシンボルの基本クラスによって参照され、フレーム 10 の Actionscript に埋め込まれます (2 番目のフレーム ラベルがフレーム 10 にあり、最初のフレーム ラベルを読み取るためのスペースを提供するため)。

私が見つけたのは、これらのサウンドのいくつかは最後まで再生されないということですが、SoundChannel は「soundComplete」イベントを送出し、その最終位置はサウンドの長さと一致します。

すべてのサウンドは 44Hz / 16 kbps で wav から mp3 に変換されます。Flex への参照を回避するために、Sound を拡張するダミーの SoundAsset を含めることでコンパイラを偽造しました。

これをデバッグするために他にどのような手順を実行すればよいかわかりません。問題がコンパイル側にあるのか実行側にあるのかを判断する方法はありますか?

更新しました

私が試したその他のこと:

  • サイズレポートを見た: 非稼働音は、ソース mp3 よりも埋め込まれた形で小さかった
  • 自分の BitmapAsset を取り除き、Flash を Flex Framework にリンクさせ、それが行うことは何でも実行します (明らかに悪いことです)。
  • エンコーディングを 44 kHz から 22 kHz に落としました (改善なし、または悪化)
  • ビットレートを 8kbps に下げました (私が使用するツールがサポートする最低の dbPowerAmp)。これは通常、ある程度役立ちますが、通常はファイルの末尾から 1 つか 2 つの単語を使用します。
  • エンコーディングで両方のパラメーターを削除しました。これは、ビットレートを下げるだけでは効果がなかったいくつかのファイルを助けましたが、すべてのファイルではありませんでした. さらに、それは小さく聞こえます。

ありがとう!

4

3 に答える 3

1

Flash オーディオの場合、高品質のソース wav ファイルがある場合は、wav ファイルを使用してサウンド アセットを FLA にインポートすることをお勧めします。それ以外の場合は、mp3 を wav に変換することも検討できます。次に、FLA エクスポート設定を希望する品質に設定すると、Flash は設定した品質で wav を独自の形式に変換しますが、問題が少ないことを願っています。

それができたら、actionscript のサウンド シンボルをライブラリにエクスポートし、埋め込む方法と同じようにクラス名を設定できます。

私が使用するもう 1 つのトリックは、必要なだけ大きな波を保存するために使用できるサウンド アセット専用の FLA を 1 つ用意することです。それをエクスポートすると、小さな SWF ファイルになり、メイン アプリケーションに埋め込むことができます。そうすれば、swf をエクスポートするたびに Flash が wav を swf に再変換することはありません。代わりに、はるかに高速なswfデータをコピーするだけです。

    [Embed(source="Audio/Sfx.swf", symbol="WELCOME_1_WAV")]
    private static const WELCOME_1:Class;
于 2012-09-28T07:55:48.187 に答える