[英]Share code between JavaScript and an ActionScript library without a bridge
[英]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.