簡體   English   中英

在JavaScript和ActionScript之間共享數組引用

[英]Share Array Reference between JavaScript and ActionScript

我一直在使用WebcamJS庫在瀏覽器中傳輸來自攝像頭的視頻,但是我遇到了一個主要的性能瓶頸。 由於我使用的是Internet Explorer 11(並且無法切換到其他瀏覽器),因此該庫將恢復為訪問攝像頭的Flash后備。

由於其步驟很多,返回圖像的ActionScript回調非常慢。 當它返回圖像時,它首先將其字節數組編碼為PNG或JPG,然后編碼為基本64字符串。 然后使用ExternalInterface將此字符串傳遞給JavaScript,JavaScript通過數據URI對圖像進行解碼。 鑒於我需要的只是JavaScript中的字節數組,這些額外的步驟似乎很浪費。

在C ++ / Python之前,我不得不解決類似的問題。 我不是在兩種語言之間來回反復傳遞數組數據,而是在程序開始時使用Python傳遞NumPy數組引用。 然后,他們可以從此開始訪問相同的數據而無需任何額外的通信。

既然您已了解我的情況,那么問題就在於:是否可以通過引用ActionScript傳遞JavaScript Array或ArrayBuffer? 在這種情況下,我可以讓ActionScript直接修改JavaScript數組,而不是浪費時間轉換,編碼和解碼每個幀的圖像。

(WebcamJS: https//github.com/jhuckaby/webcamjs

為了完整起見,FlashObject中的SharedObjects在AMF協議上序列化,在文件系統上(在非常特定的沙盒和鎖定位置),Javascript無法訪問這些數據來讀取數據。

您是否嘗試簡單地調用ExternalInterface方法並將一個字節數組作為參數傳遞? 它將通過值傳遞,自動從Actionscript數據結構轉換為Javascript,但是您將跳過所有編碼步驟,它應該足夠快......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM