下面的发生异常时的堆栈:
<terminated>test [Android Application]
<disconnected>DalvikVM[localhost:8600]
test [Android Application]
DalvikVM[localhost:8600]
Thread [<1> main] (Suspended (exception NullPointerException))
VideoView$2.onPrepared(MediaPlayer) line: 388
MediaPlayer$EventHandler.handleMessage(Message) line: 1238
MediaPlayer$EventHandler(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 876
ZygoteInit.main(String[]) line: 634
NativeStart.main(String[]) line: not available [native method]
Thread [<7> Binder Thread #2] (Running)
Thread [<6> Binder Thread #1] (Running)
Thread [<8> Binder Thread #3] (Running)

解决方案 »

  1.   

    问题一:
    VideoView strokeVideo是放在onCreate里面的局部变量,执行restart时不会再次执行onCreate。
    可以把VideoView strokeVideo设置为main类的成员变量。
    问题二:
    放在工程res/raw目录下好像可以播放。
      

  2.   

    VideoView对视频编码要求比较严格,很多mp4文件都不能正常播放,我试过几个视频文件,只有声音在播放,图像卡在第一帧不动
      

  3.   

    和变量问题无关,它只是对控件的引用,而且实际程序中就是成员变量,无论什么,只需在oncreate中一次获取引用取可。视频格式没有问题。视频是运行中从数据库读出来的,不能放在raw下。
      

  4.   

    说的在详细一点。onrestart那地方我以前用过,是可以的。
      

  5.   

    问题1: 应该是mediaPlayer被释放了
     你按home 退出用pause,回来再resume试试,否则需要重新openVideo,然后再seek到上次断点的位置。问题2:
    data目录不行,你放到 /system/media下试试(不过貌似是只读的 呵呵)