mTextureView = (AutoFitTextureView) mTextureView.findViewById(R.id.texture_view3);にエラーがでます。
##ActivityのサンプルコードをServiceように書き換えてコードを書いているのですがmTextureViewを初期化しようとしたのですが、このようなエラーが出ます。
java
1public class Camera3Service extends Service { 2 private AutoFitTextureView mTextureView; 3 4 @Override 5 public void onCreate() { 6 7 mTextureView = (AutoFitTextureView) mTextureView.findViewById(R.id.texture_view3); 8 9 }
##エラーログです。
java
1E/UncaughtException: java.lang.RuntimeException: Unable to create service com.google.android.exoplayer2.demo.Camera3Service: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View com.google.android.exoplayer2.demo.AutoFitTextureView.findViewById(int)' on a null object reference 2 at android.app.ActivityThread.handleCreateService(ActivityThread.java:3201) 3 at android.app.ActivityThread.-wrap5(ActivityThread.java) 4 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567) 5 at android.os.Handler.dispatchMessage(Handler.java:102) 6 at android.os.Looper.loop(Looper.java:154) 7 at android.app.ActivityThread.main(ActivityThread.java:6119) 8 at java.lang.reflect.Method.invoke(Native Method) 9 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 10 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 11 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View com.google.android.exoplayer2.demo.AutoFitTextureView.findViewById(int)' on a null object reference 12 at com.google.android.exoplayer2.demo.Camera3Service.onCreate(Camera3Service.java:95) 13 at android.app.ActivityThread.handleCreateService(ActivityThread.java:3191) 14 at android.app.ActivityThread.-wrap5(ActivityThread.java) 15 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567) 16 at android.os.Handler.dispatchMessage(Handler.java:102) 17 at android.os.Looper.loop(Looper.java:154) 18 at android.app.ActivityThread.main(ActivityThread.java:6119) 19 at java.lang.reflect.Method.invoke(Native Method) 20 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 21 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
##このような使用目的で初期化をします。
java
1 @Override 2 public int onStartCommand(Intent intent, int flags, int startId) { 3 Log.d(TAG, "onStartCommand"); 4 startBackgroundThread(); 5 if (mTextureView.isAvailable()) { 6 Log.e(TAG,"mTextureView.isAvailable"); 7 openCamera(mTextureView.getWidth(), mTextureView.getHeight()); 8 } else { 9 Log.e(TAG,"onStartCommand:else"); 10 mTextureView.setSurfaceTextureListener(mSurfaceTextureListener); 11 } 12}
##xmlのコードです。
java
1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" > 6 7 <TextureView 8 android:id="@+id/texture_view3" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" /> 11 12</LinearLayout> 13
##調べたところこのような問題を抱えている人が他にもいたのですが、解決していませんでいした。
サイトリンク
別の解決策として、
このようにSurfaceTexture をつかうべきでしょうか?
SurfaceTexture texture = mTextureView.getSurfaceTexture();
このようにSurfaceTexture をつかうべきでしょうか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。