活动LifeCycle与VideoView播放的问题

时间:2010-03-17 17:15:11

标签: android video-streaming android-videoview

大家好,我遇到了VideoView的另一个问题。 然后视频播放,我让设备睡着,使用硬按钮,调用onPause()。但接下来是:

03-17 11:26:33.779: WARN/ActivityManager(884): Activity pause timeout for HistoryRecord{4359f620 com.package/com.package.VideoViewActivity}

然后我再次onStart() / onResume(),视频开始播放。我试图移动代码onStart() / onStop() - 似乎没有什么区别。

示例代码:

public class VideoViewActivity extends Activity {


    private String path = "";
    private VideoView mVideoView;
    private static final String MEDIA_URL = "media_url";

    @Override
    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);
        setContentView(R.layout.videoview);
        mVideoView = (VideoView)findViewById(R.id.surface_view);
        path = getIntent().getStringExtra(MEDIA_URL);
    }

    @Override
    public void onResume() {

        super.onResume();
        mVideoView.setVideoPath(path);
        mVideoView.setMediaController(new MediaController(this));
        mVideoView.requestFocus();
        mVideoView.start();
    }

    @Override
    public void onPause() {

        super.onPause();
        mVideoView.stopPlayback();

        mVideoView.setMediaController(null);
    }
}

为什么会这样?我该怎么做呢?

这不是一个最好的体验,而是让你的设备进入睡眠状态并开始播放视频

1 个答案:

答案 0 :(得分:1)

好的,看起来这种行为与活动生命周期以及VideoViewActivity在清单中设置为横向这一事实有关。添加

android:configChanges="keyboardHidden|orientation" 

用于该活动 似乎解决了这个问题,然后你把设备只放在onPause()之前调用vs之前 - 所有的生命周期方法都被执行了。 我会做更多的测试,以确保它已修复...