从另一个Activity返回后,VideoView上的视频播放消失

时间:2010-06-08 12:15:23

标签: android media-player android-videoview

我有两项活动:一项VideoView附加MediaPlayer,另一项附加。{  我开始在第一个活动中观看视频,然后在播放期间我开始第二个活动 回到第一个活动后,我可以听到声音,但看不到图片。

我的视频布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    <VideoView android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:layout_weight="1"
            android:id="@+id/videoView" android:layout_gravity="center" />  
    <ListView android:layout_width="fill_parent" android:layout_height="125dp"
            android:id="@+id/ListView" />
</LinearLayout>

您有什么想法,为什么视频没有出现?

2 个答案:

答案 0 :(得分:0)

可能与活动生命周期有关。你是否开始在onCreate()方法中播放你的视频?如果是这样,请尝试将其移动到onResume(),当活动发送到后台然后再次返回时,会调用它。 onCreate()只在第一次创建时被调用一次。

答案 1 :(得分:0)

最后,我最终得到了MediaPlayer onStop,它在onResume方法中销毁,并在MediaPlayer方法中重新创建。

这种方法的主要缺点是在更改方向后MediaPlayer必须再次缓冲视频。

我认为主要原因是MediaPlayer的引用丢失了。如果不参考SurfaceView,我无法再将{{1}}设置为视频显示。