2017-08-06 133 views
1

我製作了一個Android應用程序,可以逐張拍攝照片,存儲它們,預覽給用戶等等......所有這些任務都是通過意圖完成的類型ACTION_IMAGE_CAPTURE
因此,每當用戶想要拍照時,他應該點擊啓動意圖的「拍照按鈕」,並且在等待幾秒鐘啓動照相機之後,用戶能夠拍照;之後,用戶拍攝並接受照片,攝像機關閉,並通過onActivityResult方法將拍攝的照片返回(作爲預覽的位圖)給呼叫級別。
現在,如果你想做多張照片,這個過程可能會很乏味。Android:如何使用相同的相機意圖拍攝多張照片

所以,我想提供我的應用程序的一種模式,允許用戶採取超過一張照片,沒有上面提到的所有緩慢的東西。
爲了澄清,我不想製作連拍模式(在預定的時間間隔後自動拍攝照片),但我想讓用戶能夠點擊快門以儘可能多的時間照相,而不會中斷由其他事情。

搜索在網絡上,我發現了一些信息,並在我看來,有三種可能的方式追求:
- 做的意圖,「INTENT_ACTION_STILL_IMAGE_CAMERA」:這個人是很容易實現,但相機界面將在很大程度上取決於意圖製作時調用的應用程序(例如,在我的One Plus Three上,被稱爲完成此任務的應用程序是「Camera FV-5 Lite」,在模擬設備上是另一個)。 。因此,我認爲無法控制接口或被調用的應用程序的行爲(例如,通過意圖調用的應用程序可能切換到視頻模式,但這不應該是可能的我正在設計的應用程序);
- 使用軟件包「Camera2」https://developer.android.com/reference/android/hardware/camera2/package-summary.html):谷歌在這裏提供了這個軟件包的一些例子https://github.com/search?utf8=%E2%9C%93&q=android-Camera2&type=但我不完全理解如何難以採取這條路線;
- 自己拍一張照片的代碼:我認爲這是最困難的方法。

初學者 - 中級開發者有可能按照上述方法之一(或另一種方法)完成這項任務嗎?

類似的問題:
- Taking Multiple Photos from Android device:這裏是問如何加快這一進程,並降低一個照片和另一個之間的時間差;
- Making a gallery with automatically generated ImageView s:這個問題是關於通過不同的意圖將照片動態更新爲ACTION_IMAGE_CAPTURE;
- How to take multiple photos before dismissing camera intent?:這個討論解決方案的意圖是INTENT_ACTION_STILL_IMAGE_CAMERA加上ContentObserver,我不想像上面提到的那樣追求;
- Issues when capturing Multiple Photos: app stops responding, camera preview turns to green and no picture is saved:在捕獲多張照片時討論問題的舊帖子,但一個答案很有趣,因爲Camera2被提及。

回答

3

做出的意圖,「INTENT_ACTION_STILL_IMAGE_CAMERA」

這是不是真的類似於你的任何其他選項。例如,您不知道是否拍攝了照片,存儲的位置等。

因此,我認爲這是不可能的控制界面或名爲app

正確的行爲。這與ACTION_IMAGE_CAPTURE相同。

使用包「Camera2」

這是一樣的「使圖片自己取碼」,除非你確定一個特定的Android API它。

初學者 - 中級開發者有可能按照上述方法之一(或另一種方法)來完成這項任務嗎?

使用第三方相機庫(Fotoapparat,CameraKit-Android等)。

+0

謝謝,我不知道用於相機管理的圖書館在哪裏可用。我應該更經常地考慮搜索和使用它們。 我將在接下來的幾周內嘗試在我的應用中實現這些庫中的一個。 –

+1

我用Fotoapparat,它工作得很好。再次感謝 :) –

相關問題