Android Videoview持续黑屏无音频



正如标题所说,已经两天了,我在stackoverflow上尝试了所有的解决方案,我正式卡住了。

我确信视频扩展和编码是正确的我使用xml部分在2个linearlayouts中在一个scrollview中在一个constraintlayout中,视图是一个fragment

这是我的XML:

<FrameLayout
android:id="@+id/frameLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:layout_marginTop="50dip" >
<VideoView
android:id="@+id/video_view"
android:layout_width="fill_parent"
android:layout_height="172dip"
android:layout_gravity="top|center"         
android:visibility="visible"/>
</FrameLayout>

这是片段代码:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_settings_general, container, false);
intro = (VideoView) rootView.findViewById(R.id.video_view);
MediaController mediaController= new MediaController(getContext());
intro.setMediaController(mediaController);
Uri uri = Uri.parse("android.resource://" + getContext().getPackageName() + "/" + R.raw.video);
intro.setVideoURI(uri);
intro.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
intro.setZOrderOnTop(true);
intro.start();
}
});
return super.onCreateView(inflater, container, savedInstanceState);
}

在我的清单中添加了internet前提:

<uses-permission android:name="android.permission.INTERNET" />

打印URI将显示带有"/"的正确项目名称。和一些数字在最后。

添加此方法而不是您的代码

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle 
savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_settings_general, 
container, false);
intro = (VideoView) rootView.findViewById(R.id.video_view);
MediaController mediaController= new MediaController(getContext());
intro.setMediaController(mediaController);
Uri uri = Uri.parse("android.resource://" + getContext().getPackageName() + "/" + R.raw.video);
intro.setVideoURI(uri);
intro.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
intro.setZOrderOnTop(true);
intro.start();
}
});
return rootView ;
}

最新更新