MediaRecorder
内部を使用しService
てオーディオを録音します。オーディオ録音が進行中で、カメラを手動で起動しようとすると、次のようになりました。
時々アプリがクラッシュし、ログに「プロセスが停止しました」としか表示されません。
このような状況をどのように処理すればよいでしょうか。つまり、カメラ アプリが何かを記録しようとしていることを検出して、MediaRecorder
.
MediaRecorder
内部を使用しService
てオーディオを録音します。オーディオ録音が進行中で、カメラを手動で起動しようとすると、次のようになりました。
時々アプリがクラッシュし、ログに「プロセスが停止しました」としか表示されません。
このような状況をどのように処理すればよいでしょうか。つまり、カメラ アプリが何かを記録しようとしていることを検出して、MediaRecorder
.
はい、カメラ アクティビティが同じリソースをすべて使用する可能性があるため、メディア レコーダー ソースを解放する必要があります。
私の知る限り、ハードウェア カメラの起動を聞くことはできません。
カメラは、エラーが発生する前に MediaRecorder を解放できるアクションをブロードキャストしません。カメラによってブロードキャストされるアクションはACTION_NEW_PICTURE, ACTION_NEW_VIDEO, CAMERA_ERROR_SERVER_DIED
、およびでありCAMERA_ERROR_UNKNOWN
、どちらもエラーが発生する前に MediaRecorder を解放することはできません。
アクティビティを終了するときは、メディア レコーダー リソースを解放するようにしてください。多分それが理由です。閉じていなければ、アクティビティを終了しても存在し続けます。