問題タブ [android-camera]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2058 参照

android - Androidカメラから画像データをWebサーバーにアップロード


これが私が達成しようとしていることです:

ユーザーが Android カメラで写真を撮った後、画像を Ruby on Rails Web アプリケーション (PicPlz や Instagram など) に保存したいと考えています。

アプローチ 1: ユーザーが写真を撮った後、バイト配列を変換し、電話で .jpeg として保存します。次に、投稿リクエストを介して画像ファイルをサーバーにアップロードします (ここにリンク)

アプローチ 2: ユーザーが写真を撮った後、バイト配列データを Web アプリケーションの Web サービスに直接投稿し、Web アプリケーションでバイト配列を画像ファイルに変換してサーバーに保存します。

質問: どちらのアプローチがより高速で効率的ですか?

また、他のアプローチの提案も受け付けています。
あなたの時間と助けをありがとう:)

0 投票する
3 に答える
55735 参照

android - アンドロイドカメラの表面ビューの向き

さて、SurfaceViewを拡張してオーバーライドするクラスがあります

surfaceChanged-startPreviewを呼び出すだけです
surfaceCreated-カメラを開き、パラメータを編集します*、surfaceHolderを設定します
surfaceDestroyed-stopPreviewを呼び出し、カメラを解放します

向きがポートレートの場合、これはすべてうまく機能します。

surfaceCreatedから*

ただし、向きが変わるたびにCamera.open()...が呼び出されます。これはご存知のとおり、非常にコストのかかる操作であるため、遷移がそれほどスムーズではありません。

向きを横向きに強制すると、プレビューは素晴らしいです。プレビューは横向きであるため、作成は1回だけ呼び出されます。これは、カメラが常にユーザーに表示されるものであるためです。ただし、ポートレートで撮影した実際の写真の向きを設定する方法が必要です。ただし、ランドスケープを強制すると、カメラがポートレートで保持されているときにサーフェスが再作成されたり、パラメータが設定されたりすることはありません。

では、どうすれば次のいずれかを(排他的に)行うことができますか?

  1. 遷移がスムーズになるように向きが変わったら、onDestroyとonCreateの間でm_cameraを押し続けます

  2. 横向きを強制し、向きの変化を別の方法で検出します...縦向きに保持されている場合は、最終的にスナップされた画像を回転させます。

また、私がベースから離れている場合、誰かが私をより良い方向に向けることができますか?ありがとうございました。

0 投票する
1 に答える
17100 参照

android - ソケットを使用してストリーミングするAndroidMediaRecordersetOutPutFile()

SDカードに保存せずにネットワーク上のローカルサーバーにビデオをストリーミングできるAndroidアプリを開発しています。

このために、特定のIP:PORTをリッスンする単純なソケットアプリケーションをC#で作成しました

Androidの部分では、setOutputFile()ソケットを使用してこのIP:PORTに設定しました。

このアプリケーションはAndroidスマートフォンで完全に起動しますが、プレビューが表示されず、録音を開始すると例外なく終了します。また、ネットワークにデータストリームを送信しません。

SDカードに設定するsetOutPutFile()と、それは完璧に動作し、ビデオも記録します。

サーバー部分では、他のアプリ(PCから)から同じIP:PORTにデータを送信すると、データを受信します。

つまり、ストリーミング用のソケットを使用して、PCとAndroidの間の通信チャネルを確立したいと思います。

これが私のAndroidコードです:

これがC#でPC上で実行される私のサーバーアプリです:

ここで起こっている問題を理解することができません。私は正しい方向に進んでいますか?

0 投票する
1 に答える
1304 参照

android - 写真を撮って、保存した写真を編集する問題!

私はプログラミングに非常に慣れておらず、オンボード カメラ ハードウェアを使用してアプリを作成しようとしています。私の意図は写真を撮ることです。次に、[保存]をクリックすると、その写真が編集される新しいアクティビティに表示されます...カメラハードウェアを最適に使用する方法について数日間探しました...カメラstartActivity(new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE));を初期化するのが最も簡単だと言われました。 .. カメラを起動して写真を保存することさえできましたが、私の問題は次のとおりです。カメラで保存を押すと、保存された写真を編集可能な新しいアクティビティに移動する代わりに、カメラのアクティビティがリロードされます...私は完全な初心者のように聞こえるかもしれませんが、誰かがこれを理解し、できるなら助けていただければ幸いです。

0 投票する
1 に答える
1406 参照

android - 1.6から2.1のCameraInfoの代替?

android.Camera.Preferences.setRotationドキュメント

APIレベル5(またはさらに良いのは4)のCamera.CameraInfoに代わるものはありますか?キャプチャした画像の回転を設定しようとしていますが、デバイスのカメラの向きを取得する方法がわかりません。APIレベル9より前では、すべてのカメラの向きが修正されていましたか?

0 投票する
0 に答える
5890 参照

android - Android - 処理されたカメラのプレビューを表示

ある種の AR (拡張現実) を作成しようとしていますが、携帯電話のカメラからフレームごとにプレビューを取得し、各フレームをビットマップとして処理し、SurfaceView に表示する方法が正確にわかりません。私の出発点は CameraPreview SDK の例です。

誰でも私に教えてもらえますか、方法:

1)カメラからフレーム/ビットマップを取得します(私は、ここのようにYUVからRGBに画像をデコードする必要があると思います:Converting preview frame to bitmap

2) SurfaceView でビットマップ (処理後) を表示する

0 投票する
1 に答える
522 参照

android - サムスンの鮮やかなカメラのアクティビティは2枚の写真を撮ります

Samsung Galaxy S (別名 Vibrant) で上記の方法を使用して写真を撮ると、保存を押すとギャラリーに 2 枚の写真が表示されます。1 つは「写真」と呼ばれる写真のデフォルト アルバムにあり、2 番目は私の uri のために作成された「カメラ」と呼ばれます。

上記のコード スニペットで撮影した写真をデフォルトの「写真」に保存せず、保存した写真のアルバムをアプリの名前 (IE「Acme Mobile」) にしたいと思います。どうすればこれを達成できますか?

0 投票する
2 に答える
563 参照

android - Androidの画像キャプチャとスケーリング

Cameraアクティビティを使用してJPEG画像をキャプチャしています。画像が保存され、コントロールがアプリケーションアクティビティに戻った後、Bitmapオブジェクトを介して画像全体をメモリにロードせずにキャプチャされたJPEG画像の寸法を決定したいのですが、どういうわけか簡単に実行できますか?

JPEGヘッダーを読み取ってそのような情報を教えてくれるクラスはありますか?OOM状態を避けたいのですが、画像全体をメモリにロードするのは問題ないかもしれませんね。

寸法を知った後、BitmapFactoryを使用して画像を拡大縮小したいと思います。

どうもありがとう

敬具、

STeN

0 投票する
3 に答える
4549 参照

android - カメラの意図/アクティビティ - ギャラリーへの保存を避ける

カメラ アクティビティを使用して写真をキャプチャしています。MediaStore.EXTRA_OUTPUT追加パラメーターを使用して呼び出します。画像は指定されたパスに正しく保存され、ギャラリー フォルダーにも保存されるため、「ギャラリー」アプリケーションで画像を表示できます。これを回避できますか?

ありがとう