FlutterのImagePicker.pickImage呼び出し後「Camera error:Can’t connect to the camera.」と表示されてしまう。

現在Flutterの勉強をしております。
その中でカメラを起動して写真を撮って、アプリ内で表示させるという機能を実装をしていたところ、実装は変えてないのにカメラが起動しなくなりました。

Flutterのカメラ呼び出し機能でエラー発生

先日までうまく動いていたFlutterのカメラ呼び出し機能がエラーになってしまいました。

エラー画面

調査した所、下記gitnubのissueでAVDのカメラの設定触ってみたら?的なやり取りを見つけたので、やってみました。

[image_picker] Camera Error Can’t connect to the camera #43552
https://github.com/flutter/flutter/issues/43552

結論

結論から言うと、カメラの設定を変えてみたらエラーが解消されました。

対応手順

AVD Managerで開発に使用してるAVDの設定編集画面へ

デフォルトでは表示されないので、Show Advanced Settingsをクリック

cameraの設定箇所へ

Backの設定を変更

カメラ起動時にいきなりフロントカメラが起動していることはないだろうと思い、Backの設定を変更してみました。
Camera Back : VirtualScene → Emulated

Finishを押して変更を反映します。

カメラが使えるようになったか確認

使えるようにはなりました!

が、変な画像が表示される+変な画像が揺れているので、今一度設定を変更。以前、カメラが動いていた時はどこぞの部屋の画像が表示されいたのですが。。。

再設定

カメラのエラー発生前後のタイミングではAVDの設定をいじった記憶がないので、変更前の設定に戻してみました。
Camera Back : Emulated → VirtualScene

再々確認

ようやくもとに戻りました!!

まとめ

一応エラーが解消されたので、これで動作確認が進められそうです。

とはいえ、エラーになってしまった根本的な原因が解決されたわけではないので、また同じエラーになるかもしれません。

Androidエミュレータを起動したままPCをシャットダウンしてしまうことがあるので、その影響も考えられますね。。。。。