這裏我有AS3來將錄製的聲音文件上傳到服務器。當我在Flash中測試它時,它可以正常工作(錄製聲音並將其上傳到下一幀),但在瀏覽器中它不起作用。它似乎無法調用myUpload,但我不知道爲什麼?它應該是鼠標事件嗎?謝謝。AS3:呼叫功能在瀏覽器中不起作用
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 相同的callstack是什麼意思?
是什麼讓你相信該功能沒有運行?你是否在帶有斷點的調試模式下運行它?或者你只是猜測發生了什麼? –
'SecurityError:錯誤#2176:某些操作(例如那些顯示彈出窗口的操作)只能在用戶交互時調用,例如通過鼠標單擊或按鈕按下。「 – Amir
@amy。但是我不使用'Filereference.browse,FileReference.download'或'FileReference.save'。爲什麼需要用戶交互? – Amir