2016-12-30 40 views
0

編輯異常與TangoCameraPreview

我實現了TangoCameraPreview本身在測試應用程序,它工作正常。我認爲這個錯誤是由我的應用程序的具體情況造成的。我使用拉賈瓦利呈現一些圖形在我的應用程序,所以這可能是吧,但我不知道......

原始

我使用的Java API和嘗試使用TangoCameraPreview class而不是像他們在examples中那樣構建我自己的SurfaceView和Renderer。但它看起來像是在JNI層面失敗了,我無法得到它的工作。有時候,我會看到一秒鐘的視頻,但不可避免地,我總是得到錯誤:

12-30 17:20:03.544 4005-4515/com.gloppygloop W/tango_client_api: TangoErrorType TangoService_updateTexture(TangoCameraId, double*): TangoService got a negative timestamp -1.000000 from camera with id 2. 
12-30 17:20:03.546 4005-4515/com.gloppygloop E/TangoCameraPreview: Error updating texture. 
                    com.google.atap.tangoservice.TangoInvalidException 
                     at com.google.atap.tangoservice.Tango.throwTangoExceptionIfNeeded(Tango.java:826) 
                     at com.google.atap.tangoservice.Tango.updateTexture(Tango.java:333) 
                     at com.google.atap.tangoservice.TangoCameraPreview.updateTexture(TangoCameraPreview.java:267) 
                     at com.google.atap.tangoservice.TangoCameraPreview$MainRenderer.onDrawFrame(TangoCameraPreview.java:117) 
                     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523) 
                     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 

我基本上只是調用TangoCameraPreview.onFrameAvailable,每當我有OnFrameAvailable從OnTangoUpdateListener就像他們在推薦文檔。據我所知,它只是因爲JNI方法無法正確地從相機中獲取時間戳並導致錯誤。我正在嘗試使用Fisheye相機,但我也嘗試了Color相機和RGBIR相機。

回答

2

找到了解決方案,所以我只是把它留在這裏,以防其他人陷入困境。問題在於我在TangoCameraPreview的相同上下文中使用了另一個GLSurfaceView。經過一番搜索後,我發現this answer爲我清理了一些東西。基本上,只要你在同一個環境中有多個SurfaceView,就需要意識到這些視圖的Z順序。否則,你只會像我遇到的那樣出現奇怪的行爲。 Tango錯誤只是誤導,因爲即使TangoCameraPreview按照預期運行,我仍然收到錯誤。