現在 onPreviewCallback を使用しているため、プレビュー中にカメラからフレームをキャプチャし、http 経由でストリーミングできます。
それは機能しますが、記録を開始するコマンドを発行すると、プレビュー コールバックがもうないようです。
では、サーフェスからサーバーにフレームを送信し、デバイスでビデオを録画できるように、プレビュー コールバックを維持するにはどうすればよいでしょうか?
現在 onPreviewCallback を使用しているため、プレビュー中にカメラからフレームをキャプチャし、http 経由でストリーミングできます。
それは機能しますが、記録を開始するコマンドを発行すると、プレビュー コールバックがもうないようです。
では、サーフェスからサーバーにフレームを送信し、デバイスでビデオを録画できるように、プレビュー コールバックを維持するにはどうすればよいでしょうか?
次のようにメディアrecorder.start()が呼び出された後、これらのメソッドを呼び出すことができます:
camera.reconnect();
camera.setPreviewCallback();
surfaceview.getHolder().addCallback();
理由:
私は自分のアプリケーションであなたと同じ問題を抱えていましたが、これで修正しました。それがあなたの問題を解決できることを願っています!
カメラと MediaRecorder がクラッシュせずに録画を開始および停止した後 (簡単ではありませんでした)、プレビュー コールバックの呼び出しが停止するという、あなたが説明したような問題がまだありました。
私が最終的に見つけた修正は、mediaRecorder.start() の後に setPreviewCallback への呼び出しを追加し、mediaRecorder.stop() の後に別の呼び出しを追加することでした。これが正しいかどうかはわかりませんが、テスト中の Razr MI で動作しました。