質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

2481閲覧

mCamera = Camera.open();が実行されません。

giant

総合スコア132

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/08/02 10:30

編集2017/08/02 11:08

mCamera = Camera.open();から下の行が、実行されません。

Logで、どこまで動いているのか確かめたところ、
録画機能 3 までしか表示されません。
何が原因なのでしょうか?

ASUSのタブレットを使ってます。
targetSdkVersion 23 です。

I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es I/OMXClient: Using client-side OMX mux. I/art:Thread[3,tid=28720,WaitingInMainSignalCatcherLoop,Thread*=0xeabdb900,peer=0x130070a0,"Signal Catcher"]: reacting to signal 3 I/art: Wrote stack traces to '/data/anr/traces.txt'

「応答していません。このアプリを終了しますか?」とでます。

このような記事を見つけたのですが、私のコードにはエラーは出ていません。

java

1 public void startRecording() { 2 // 録画中であれば何もしない 3 if ( isRecording ) 4 return; 5 6 Log.v("録画機能","1"); 7 8 isRecording = true; 9 10 // 通知をタッチした際にGpsGetActivityを起動するためのIntentを作成する 11 Intent intent = new Intent( this, GpsGetActivity.class ).addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); 12 PendingIntent pendingIntent = PendingIntent.getActivity( this, 0, intent, 0 ); 13 14 Log.v("録画機能","2"); 15 16 // 通知を作成する 17 Notification notification = new NotificationCompat.Builder( getApplicationContext() ) 18 .setContentIntent( pendingIntent ) 19 .setContentTitle("recording") 20 .setContentText("recording now") 21 .setTicker("start recording" ) 22 .setSmallIcon( R.mipmap.ic_launcher ) 23 .setOngoing( true ) 24 .build(); 25 26 // Serviceをフォアグラウンド化して常時録画を維持する 27 startForeground( 1, notification ); 28 29 Log.v("録画機能","3"); 30 31 // Cameraのフォーカスモードを無限遠に設定する 32 mCamera = Camera.open(); 33 Camera.Parameters cameraParameters = mCamera.getParameters(); 34 cameraParameters.setFocusMode( Camera.Parameters.FOCUS_MODE_INFINITY ); 35 mCamera.setParameters( cameraParameters ); 36 mCamera.unlock(); 37 38 Log.v("録画機能","4"); 39 40 // MediaRecorderを設定する 41 mMediaRecorder = new MediaRecorder(); 42 mMediaRecorder.setCamera( mCamera ); 43 44 Log.v("録画機能","5"); 45 46 // オーディオのノイズを抑制するため音声認識用のオーディオソースを使用する 47 mMediaRecorder.setAudioSource( MediaRecorder.AudioSource.VOICE_RECOGNITION ); 48 mMediaRecorder.setVideoSource( MediaRecorder.VideoSource.CAMERA ); 49 50 Log.v("録画機能","6"); 51 52 // 高品質プロファイルを設定する 53 mMediaRecorder.setProfile( CamcorderProfile.get( CamcorderProfile.QUALITY_HIGH ) ); 54 55 File filePath = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "movie"); 56 // 録画ファイルのパスを設定する(TODO: 外部ストレージのルートパスは端末ごとに修正する) 57 //mMediaRecorder.setOutputFile( Environment.getExternalStorageDirectory().getPath()+ DateFormat.format( "yyyyMMdd'-'kkmmss", Calendar.getInstance() ) + ".mp4" ); 58 mMediaRecorder.setOutputFile( filePath.getPath()+ DateFormat.format( "yyyyMMdd'-'kkmmss", Calendar.getInstance() ) + ".mp4" ); 59 60 Log.v("録画機能","7"); 61 62 // 録画時間または録画ファイルサイズを制限する 63 mMediaRecorder.setOnInfoListener( this ); 64 mMediaRecorder.setMaxDuration( VIDEO_DURATION ); 65 mMediaRecorder.setMaxFileSize( VIDEO_FILESIZE ); 66 67 // プレビュー用のSurfaceを設定する 68 mMediaRecorder.setPreviewDisplay( mSurfaceHolder.getSurface() ); 69 70 Log.v("録画機能","8"); 71 72 // 録画を開始する 73 try { 74 75 Log.v("録画機能","9"); 76 mMediaRecorder.prepare(); 77 mMediaRecorder.start(); 78 } catch ( IOException ex ) { 79 ex.printStackTrace(); 80 81 82 // 録画に失敗した場合はクリーンアップする 83 84 // Serviceのフォアグラウンド化を解除する 85 stopForeground( true ); 86 87 // MediaRecorderとCameraを解放する 88 mMediaRecorder.release(); 89 mCamera.lock(); 90 mCamera.release(); 91 92 isRecording = false; 93 94 // バイブレーションで通知する 95 ( (Vibrator)getSystemService( VIBRATOR_SERVICE ) ).vibrate( 3000 ); 96 } 97 }

java

1 <uses-permission android:name="android.permission.CAMERA" /> 2 <uses-permission android:name="android.permission.RECORD_AUDIO" /> 3 4 <uses-feature 5 android:name="android.hardware.camera" 6 android:required="false" /> 7 <uses-feature 8 android:name="android.hardware.camera.autofocus" 9 android:required="false" /> 10 <uses-feature 11 android:name="android.software.leanback" 12 android:required="false" /> 13 <uses-feature 14 android:name="android.hardware.touchscreen" 15 android:required="false" /> 16

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yona

2017/08/02 12:28

Camera.openの前後でログを出して確認しましたか?
giant

2017/08/02 12:54

タブレットでなくnexsux5xで実行したところ全て実行できました。タブレットは今人に貸してしまったので、実験できません。いろいろ調べてたらCamera2 APIを使って、Serviceで、動画撮影をしようと思います。
giant

2017/08/02 12:57

これは、Camera2 APIを使っているコードという認識であっているでしょうか?
yona

2017/08/03 01:27

使っていません。
giant

2017/08/03 01:29

わかりました。書き換える必要ができました。調べて見ます。ありがとうございます。
guest

回答1

0

自己解決

Camera2APIを使うことで改善しました。

投稿2017/08/03 07:44

giant

総合スコア132

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問