[問題] 分析攝影機資料串流

看板AndroidDev作者 (惡男)時間14年前 (2011/11/21 18:47), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
大家好,我是Android開發新手,想請問板上高手, 我開發的手機其攝影機有3顆鏡頭(前鏡頭+後鏡頭*2) 我的目的是分別得到後方左鏡頭和右鏡頭的攝影機預覽, 而不是已經經過處理的3D預覽畫面,我有看過該設備提供的文件, 其3D影像格式可以設定成是side by side 所以我的做法是將其預覽的資料串流使用setPreviewCallbackWithBuffer來處理, 先將3D影像預覽畫面存到一個buffer中,在轉成RGB色彩空間,最後再把此buffer 分成兩個(因為其格式是side by side)buffer,照理可以得到存左和右鏡頭預覽 畫面的buffer,但是在執行到轉成RGB色彩空間執行時卻出錯, 出現"此程序未正常中止"的錯誤,想請教是否有那邊寫錯以及 以上的做法是否能實現我的目的,或是要往底層去做開發達到分別獲得 左右鏡頭的預覽畫面,謝謝。 程式碼如下: // 產生 buffer PixelFormat p=new PixelFormat(); PixelFormat.getPixelFormatInfo(parameters.getPreviewFormat(),p); int bufSize=(optimalSize.width*optimalSize.height*p.bitsPerPixel)/8;   // 把buffer給preview callback備用         byte[] buffer=new byte[bufSize]; camera.addCallbackBuffer(buffer); buffer=new byte[bufSize];    camera.addCallbackBuffer(buffer);    buffer=new byte[bufSize];    camera.addCallbackBuffer(buffer); // 設定預覽畫面更新時的callback。 Since: API Level 8 camera.setPreviewCallbackWithBuffer(new PreviewCallback(){ public void onPreviewFrame(byte[] data,Camera camera){ byte[] rgb=new byte[data.length]; decodeYUV420SP(rgb,data,width,height); camera.addCallbackBuffer(rgb); } }); camera.startPreview();   } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.20.62

11/21 21:30, , 1F
之前也被這個搞到很鳥.... 到現在也還沒搞懂 = =
11/21 21:30, 1F
文章代碼(AID): #1EoYmpVK (AndroidDev)
文章代碼(AID): #1EoYmpVK (AndroidDev)