フラグメントでは、ビデオビューがあり、記録された聖霊降臨祭のエミュレーターカメラ.mp4ビデオを再生します。すべてが正常で、エミュレーターではビデオが再生されていますが、実際のデバイスで別のビデオを再生しようとすると、カメラを.mp4形式で再度録画すると、画面が真っ暗になり、悲しい「BitmapFactoryクラス。ソースが見つかりません」と表示されます。私は4.0.4デバイスでテストしており、ターゲットは8〜17apiです。画像はエミュレーターと実際のデバイスで正常に開きます。LOGcatエラーはなく、すべてが緑色です...
フラグメントコード
public class PreviewFragment extends Fragment {
View view;
//variable
File file;
boolean image;
//views
VideoView videView;
ImageView imageView;
ImageButton imageButton;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if(container == null) {
return null;
}
view = inflater.inflate(R.layout.fragment_preview, container, false);
//elements
imageView = (ImageView) view.findViewById(R.id.imageView1);
videView = (VideoView) view.findViewById(R.id.videoView1);
//variables from activity
file = ((PreviewActivity)getActivity()).file;
image = ((PreviewActivity)getActivity()).image;
//main run
if(image == true) {
imageView.setImageURI(Uri.parse(file.getAbsolutePath()));
}
else {
videView.setVideoURI(Uri.parse(file.getAbsolutePath()));
videView.setMediaController(new MediaController(getActivity()));
videView.requestFocus();
videView.start();
}
return view;
}
}
およびxmlコード
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black" >
<VideoView
android:id="@+id/videoView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:contentDescription="@string/text_fullscreen" />