2014-03-28 120 views
2

我懷疑這個問題的答案是「不」,但以防萬一有人有詳細信息...getUserMedia在一個網絡工作者

我處理音頻和視頻,看來,簡單地存儲音頻樣本在ScripProcessorNodeonaudioprocess處理程序(用於以後處理)正在使用高達40%的CPU在低端硬件上。這使我的視頻處理錯過了幀。

我想將音頻處理轉移到網絡工作者,但似乎沒有任何訪問網絡工作者上下文中的navigator.webkitGetUserMedia(或任何變體)。

,因爲我只存儲此刻的數據,它是造成這樣的開銷,我認爲,在消息發送給它的webworker也會產生類似的開銷。

總之,我的問題是:有什麼方法可以直接從網絡工作者訪問麥克風嗎?

回答

1

不幸的是答案是否定的。 Webworkers沒有(直接)訪問userMedia。根據您處理數據的方式,您可以在主線程中啓動並使用worker.postMessage將一些工作卸載到工作人員。但是,無論您傳遞給worker.postMessage必須是可序列化的 - 因此它不能是音頻流本身。