0

ここでは、録音したサウンド ファイルをサーバーにアップロードするための AS3 があります。Flash でテストすると正常に動作します (サウンドを録音してアップロードし、次のフレームに移動します) が、ブラウザーでは動作しません。myUpload を呼び出せないようですが、なぜですか? マウスイベントですか?ありがとう。

function VOCWordToYourMp3()
{
    setTimeout(startRecording,3000);
    recorder.addEventListener(RecordingEvent.RECORDING, onRecording);
    recorder.addEventListener(Event.COMPLETE, onRecordComplete);
}

function startRecording()
{
    if (! recording)
    {
        recorder.record();
    }
    else if (recording)
    {
        recorder.stop();
        recording = false;
    }
}
function onRecording(e:RecordingEvent)
{
    //
}

function onRecordComplete(e:Event):void
{
  //
}
function renderWav(src, convertToMp3 = false)
{
            //
    function handleRenderTimer(e:TimerEvent)
    {
        //
    }
    function finishRender()
    {
           //  
    }
}
function makeIntoMp3(wav)
{
    wav.position = 0;
    mp3Encoder = new ShineMP3Encoder(wav);
    mp3Encoder.addEventListener(Event.COMPLETE, mp3EncodeComplete);
    mp3Encoder.addEventListener(ProgressEvent.PROGRESS, mp3EncodeProgress);
    mp3Encoder.start();

    function mp3EncodeProgress(e:ProgressEvent):void
    {
        //
    }

    function mp3EncodeComplete(e: Event):void
    {
        myUpload('sound1',mp3Encoder.mp3Data);
    }
}

function myUpload(namefile:String,sba: ByteArray):void
{
//upload code
}

アップデート:

Flash Player 10 および Actionscript 3.0 では、URLLoader へのすべての呼び出しが同じ呼び出しスタックにある必要があります。 http://helpx.adobe.com/flash-player/kb/user-interaction-required-upload-download.html 同じコールスタックとは何ですか?

4

1 に答える 1

0

Vizzy: https://code.google.com/p/flash-tracer/などを使用して、ブラウザーで SWF をデバッグすることをお勧めします。onRecordComplete()関数や関数などに trace ステートメントを挿入してmyUpload()、コードがどこまで到達しているかを確認したり、新しいエラーが発生しているかどうかを確認したりできます。ブラウザで実行しているため、何らかのセキュリティ サンドボックス エラーが発生している可能性があります。そのエラーが何であるかを確認できると、次に何をすべきかを理解するのに役立ちます。

Vizzy を使用するには、ブラウザーでデバッグ プレーヤーを実行し、ログ ファイルへの正しいパスを構成する必要があります。これは少しトリッキーな場合もありますので、いくつかのヒントを紹介します。

という名前のホーム ディレクトリにファイルを追加し、mm.cfg次の設定を入力します。

ErrorReportingEnable=1
AS3Verbose=0
TraceOutputFileEnable=1
AS3Trace=0
TraceOutputBuffered=0
AS3StaticProfile=0

次に、Vizzy でログへのパスを設定する必要があります。私のWindows 7マシンでは、ここにあります:

C:\Users\MyUserName\AppData\Roaming\Macromedia\Flash Player\Logs\flashlog.txt

お使いのオペレーティングシステムによって異なる場合があります。

頑張ってください。Vizzy から新しい情報があれば、また報告してください。

于 2013-10-16T21:22:46.600 に答える