在片段中我有视频观看并播放录制的白色模拟器相机.mp4视频。一切都很好,在模拟器中视频正在播放,但在真实设备上,当我尝试播放另一个视频时,再次以.mp4格式录制我的相机屏幕变黑并且蚀掉了悲伤的“BitmapFactory类。来源未找到”。我正在测试4.0.4设备,目标是从8到17 api。图像在模拟器和真实设备上正常打开。没有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" />
答案 0 :(得分:0)
奇怪但是,在4.1中的模拟器中,如果我在片段中播放视频播放,但在真实的4.0设备上,视频必须是活动中的主机才能播放,这样视频就会在模拟器和真实设备中播放。不知道为什么,但它以这种方式工作。