1

我正在启动一个项目,我想在执行应用程序时在主活动中重现视频,当用户按下视频时,它会转到另一个活动。如果用户按下后退按钮,他将再次进入主屏幕并从头开始再现视频。该视频位于原始目录中。

问题是视频视图在第一次创建活动时正在重现视频,但当用户从其他活动(在我的情况下是 MenuSection 活动)返回到它时却没有。代码非常简单,但无论如何我都会粘贴它:

 public class MainActivity extends Activity {
   private VideoView mVideoView;
   LinearLayout menuSection;
   @Override

   public void onCreate(Bundle icicle) {
      super.onCreate(icicle);
      setContentView(R.layout.main);
      mVideoView = (VideoView) findViewById(R.id.surface_view);
      mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.documentariesandyou));
      mVideoView.requestFocus();
      mVideoView.setMediaController(null); //i dont want the controls of the videoview.
      mVideoView.start();
      menuSection = (LinearLayout) findViewById(R.id.menuSection);
      menuSection.setOnClickListener(new menuSectionListener());

   }

class menuSectionListener implements OnClickListener {
    public void onClick(View v) {
        Intent staticActivityIntent = new Intent(MainActivity.this, MenuSection.class);
        startActivity(staticActivityIntent);        
    }
}

}

MenuSection 只是一个显示“Hello world”之类的文本视图的活动,所以我没有粘贴它。

4

3 回答 3

2

移动mVideoView.start();onResume()而不是onCreate()

@Override
    protected void onResume() {
        super.onResume();
        mVideoView.start();
    }

当 Activity 已经运行时,请参阅从您的 Activity 调用管理 Activity 生命周期 onResume()

于 2012-07-04T19:29:01.910 回答
1

调用您的活动video.pause()onPause()覆盖方法并调用您的活动video.resume()onResume()方法。

于 2012-07-04T19:32:59.680 回答
0

移动mVideoView.start();onStart(),而不是onCreate()

有关活动生命周期如何工作的更多信息,请参阅开发者文档中的活动生命周期。

我不确定,但您可能还需要将其setVideoURI();移至onStart()

于 2012-07-04T19:24:55.020 回答