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()andmyUpload()函数等中,以查看代码的执行速度,并查看是否出现任何新错误。由于您在浏览器中运行,您可能会遇到某种安全沙箱错误。能够看到该错误是什么将帮助您弄清楚下一步该做什么。

要使用 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 回答