0
我正在使用webGL和android webview(chrome 54.0)編寫增強現實應用程序。這就是我得到JS應用視頻流(這工作得很好):Android WebView + WebGL + Camera:BufferQueue已被放棄
return navigator
.mediaDevices
.getUserMedia({video: {
"facingMode": "environment",
"width": cameraWidth,
"height": cameraHeight
}})
.then((stream) => {
let cameraURL = URL.createObjectURL(stream);
// create Three.js texture with updated camera picture
})
.catch(function(exception) {
// ...
});
我必須表現出一定的UI視圖在我的web視圖,所以我從視圖中捕捉位圖,並把它上傳到JS應用:
Bitmap viewBitmap = Bitmap.createBitmap(
myView.getMeasuredWidth(),
myView.getMeasuredHeight(),
Bitmap.Config.ARGB_8888
);
Canvas canvas = new Canvas(viewBitmap);
myView.draw(canvas);
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
viewBitmap.compress(Bitmap.CompressFormat.PNG, 100, byteStream);
String base64EncodedBitmap = "data:image/png;base64,"
+ Base64.encodeToString(
byteStream.toByteArray(),
Base64.DEFAULT
);
mWebView.loadUrl(
String.format(
"javascript:someFunction(\"%s\");void(0);",
base64EncodedBitmap
)
);
那我的設備,華爲P8精簡版(6.0)上工作,但無法在Nexus 5(6.0.1) - 加載一些意見後(也許以後垃圾收集器的工作)它從相機凍結的視頻和continiously重複日誌內:
E/BufferQueueProducer: [ImageReader-640x480f23m2-7366-1] dequeueBuffer: BufferQueue has been abandoned
有誰知道,怎麼了,怎麼解決這個問題? 任何幫助將不勝感激!