0

Flex Builder を使用して SWF をコンパイルしています。ローカル マシンで mp3 を使用し、computeSpectrum() を使用して mp3 を分析しています。

20 秒間再生した後、computeSpectrum は値を返さなくなり、代わりに次のエラーを返すようになりました。

SecurityError: Error #2121: Security sandbox violation: SoundMixer.computeSpectrum: file:///C|/Documents%20and%20Settings/Kasper/My%20Documents/Flex%20Builder%203/Soundanalizer/bin%2Ddebug/Soundanalizer.swf cannot access . This may be worked around by calling Security.allowDomain.

フラッシュでコンパイルすると、このエラーはスローされません:/

4

2 に答える 2

1

Flash Player は、Web サイトからローカル ファイルを開こうとしていると認識しています。フラッシュ ide から実行する場合、これは無視されます。Web サーバーにアップロードした場合も、そのまま動作するはずです。

ローカルでテストできるようにするには、 http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.htmlのセキュリティ タブを使用して、swf (またはプロジェクト フォルダー全体) へのアクセスを追加します。

于 2008-10-22T19:45:18.320 に答える
0

過去に computeSpectrum で発生した問題は、Flash がオーディオ サンドボックスをチェックするグローバルな方法が原因でした。つまり、ブラウザーで開いている他の無関係な Flash コンテンツ (YouTube など) は、swf がそれを読み込もうとしているかのように扱われます。つまり、アプリを実行してから YouTube を開くと、エラーが発生します。

これが原因でしょうか?

于 2008-10-21T16:53:47.853 に答える