免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
火炬打開時奇怪的Android相機(jī)行為

我有以下android代碼(這里用偽代碼編寫):

mCamera = configAndInitialize(); //all I want to do before taking picturemCamera.startPreview();mCamera.torchOn(); //setting parameters with flash mode torchonClick(){    mCamera.stopPreview();    mCamera.takePicture();    mCamera.torchOff();}

有時(通常最近重新啟動手機(jī)并且相機(jī)在此應(yīng)用程序之前未使用)此代碼以錯誤100結(jié)束相機(jī)服務(wù)器死亡.如果相機(jī)在通常正常工作之前成功拍照.

我正在調(diào)試它很長一段時間,當(dāng)我用火炬注釋掉線條時,我發(fā)現(xiàn)它有效.我可以看到火炬在兩種情況下都能正常工作.

torchOn代碼如下:

if(mCamera != null){    mCamera.stopPreview();    Camera.Parameters p = mCamera.getParameters();    List<String> supported = p.getSupportedFlashModes();    if (supported.contains(Camera.Parameters.FLASH_MODE_TORCH)) {      p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);    }    mCamera.setParameters(p);    mCamera.startPreview();}

有沒有理由為什么因為火炬拍照無法工作?我觀察到它發(fā)生在摩托羅拉Razr和三星Galaxy SIII上.

我在我的設(shè)備上安裝了這個應(yīng)用程序的兩個版本(具有不同的名稱等).我做了以下事情:

>重啟設(shè)備
>嘗試使用火炬手
>如果app-with-torch確實在第1點工作.
>嘗試沒有火炬的應(yīng)用程序
>嘗試使用火炬手

結(jié)果如下:

> App-without-torch始終有效
>大約80%的嘗試中的應(yīng)用程序火炬在第2點不起作用.(重啟后)
> App-with-torch總是在第5點工作.(使用app-without-torch之后)

即使我在拍照之前添加了torchOff(),我的應(yīng)用也會開始工作.

解決方法:

我們可以稱之為“Monty Python Dead Parrot Log.d回答”:-P我希望我有一個解決方案 – 盡管有一些建議. Heisenbugs很難捕捉到.

火炬是否有isOn()測試?
同樣(我不記得),相機(jī)是否有isReady()測試?

你可以從日志中判斷相機(jī)在mCamera.torchOn()或.torchOff()之前,期間或之后是否已經(jīng)死亡?

如果延長通話之間的時間間隔會發(fā)生什么?這不適用于真正的應(yīng)用程序,但可能會幫助您監(jiān)控和捕捉正在發(fā)生的事情.在偽代碼中說出類似的內(nèi)容:

  try {    // Log.d ("cam", "here 1") ;    mCamera = configAndInitialize();    // Log.d ("cam", "here 2");    if ( mCamera.isReady() ) {  // or isConfigured / initialized        // Log.d ("cam", "here 2");       Camera.startPreview();       // Log.d ("cam", "here 2");       thisThread.setDelay (200); // millisecs. try even up to 2000 ms !       // Log.d ("cam", "here 4");       mCamera.torchOn();       // Log.d ("cam", "here 5");       thisThread.setDelay (200); // again up to 2000 ms       // Log.d ("cam", "here 6");    }  } catch (Exception e) {    Log.d ("oops!", e.toString() );     }

監(jiān)視或確定的另一件事是,在onClick可以觸發(fā)之前,相機(jī)和手電筒確實準(zhǔn)備就緒.像Log.d一樣遍布一些延遲,看看.它可能需要回調(diào)(mCamera.isReady()然后啟用onClick).

另一件事是看你是否可以挖掘相機(jī)的源代碼(或火炬的)和GREP的錯誤100 – 或者是一個通用的android 100?

我相信你很清楚當(dāng)相機(jī)被點燃時會發(fā)生多少事情 – 似乎有幾百個電話.由于其中一些低級項目是異步的(畢竟凸輪是硬件),我懷疑你得到的是NPE或初始化不充分的對象.并非所有的NPE都被困,因此如果使用延遲或同步序列,它可能會死在那些不存在的NPE上.

(HTH – 我感覺到你的痛苦,ari,我最近不得不做很多相機(jī)的東西.在三星SIII上進(jìn)行調(diào)試非常費時.)

[編輯]你可能已經(jīng)找到了這個鏈接,但以防萬一:

How to turn on camera flash light programmatically in Android?

來源:https://www.icode9.com/content-4-280001.html
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【流媒體】Android 實時視頻采集
Android手機(jī)攝像頭編程入門
Android 放大鏡效果實現(xiàn)
Android: Camera相機(jī)開發(fā)詳解(中)
android 多媒體和相機(jī)詳解十
【英語詞匯】用英語表達(dá)“單戀”
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服