我使用前置攝像頭和min3d庫開發了增強現實應用程序。此應用程序在三星Galaxy Tab 10,1(第一代)上運行良好,運行Android 4.0.4Galaxy Tab和Transformer之間的方向差異
但是,使用Android 4.1.1在華碩Transformer TF700T上測試此相同的應用程序(僅適用於橫向模式)會給出錯誤的方向並且增強的世界不再與攝像機視圖匹配。
下面的代碼用於獲取方位矢量target_axis和up_axis需要min3D:
SensorManager.getRotationMatrix(mR, null, mLastAccelerometer, mLastMagnetometer);
SensorManager.getOrientation(mR, mOrientation);
Number3d target_axis = new Number3d(-mR[2], -mR[5], -mR[8]);
Number3d up_axis = new Number3d(mR[1], mR[4], mR[7]);
的mLastAccelerometer和mLastMagnetometer是從onSensorChanged(SensorEvent事件)接收
有人可以告訴我如果上面的代碼仍然依賴於太多的設備?我期望使用SensorManager的gerOrientation調用這個解決方案應該可以在不同的設備上工作?
啊,因爲我同時持有這兩個設備,這意味着Galaxy Tab與Asus Transformer有不同的「默認」方向? – Roalt 2013-05-16 11:27:17
我不確定這些設備,但我認爲*平板電腦可以將默認方向設置爲橫向,而手機的默認方向往往是縱向。 – Stochastically 2013-05-16 11:40:21