0

我想在我的 Android 应用程序中使用自定义媒体控制器,因此查看 vidtry 代码(http://github.com/commonsguy/vidtry),尤其是 Player.java:

该示例在它到来时运行良好。但我希望示例在应用启动时自动播放固定视频(所以我不想输入 URL)。我补充说:

 @Override
 public void onResume() {
  super.onResume(); 
  address.setText("/sdcard/mydata/category/1/video_agkkr6me.mp4");
  go.setEnabled(true);
  onGo.onClick(go);  
 }

奇怪的是,如果我运行应用程序,视频的音频会播放,但图像不会显示。其他一切正常(进度条等)。我无法弄清楚手动点击按钮和程序按钮之间的区别。我查看了代码,没有发现手动点击和编程点击之间可能存在任何差异。

我检查了是否有任何元素(尤其是表面)可能被隐藏,但事实并非如此。我什至尝试过

surface.setVisibility(View.INVISIBLE);
surface.setVisibility(View.VISIBLE);

如果重绘出现问题,但没有区别。

当我手动点击“开始”按钮时,视频图像会显示,但不会自动启动。

4

1 回答 1

5

在 onResume 上,表面似乎还没有准备好。实现 SurfaceHolder.Callback 然后从 surfaceCreated(SurfaceHolder holder) 开始视频可以解决问题。

于 2010-06-03T06:01:12.223 回答