1

こんにちは、私は で別の問題に遭遇しました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);
    }
}

なぜそれが起こっているのですか?そして、どうすればそれを止めることができますか?

デバイスをスリープ状態にしてビデオの再生を開始するのは最高の体験ではありません

4

1 に答える 1

1

OK、動作はアクティビティのライフサイクルと、マニフェストで VideoViewActivity が横向きに設定されているという事実に関連しているようです。追加する

android:configChanges="keyboardHidden|orientation" 

そのアクティビティが問題を解決しているように見えてから、デバイスを onPause() と呼ばれる前にのみスリープ状態にします - すべてのライフサイクルメソッドが実行されました。私はそれが修正されたことを確認するためにさらにテストを行います...

于 2010-03-18T15:00:59.430 に答える