4

我正在尝试在不显示控件(音量和其他按钮)的情况下播放视频,但也应该可以通过点击视频使其可见。

代码是: theMovie.scalingMode = MPMovieScalingModeAspectFill; theMovie.movi​​eControlMode = MPMovieControlModeDefault; 在这种情况下,它默认显示控件,并通过点击视频它们被隐藏。

如果我将模式更改为 MPMovieControlModeHidden,那么我将看不到控件,但我也无法将它们带回来。

有没有办法在没有控件的情况下启动视频但不完全禁用它们?

4

2 回答 2

2

好消息德米特里!

我希望找到一个可以为您完成这项工作的解决方案。

如下:

  1. 用值初始化 MPMoviePlayerController对象的 movieControlMode属性 MPMovieControlModeHidden
  2. 播放电影
  3. 电影播放开始后,将MPMoviePlayerController对象的movieControlMode属性设置回MPMovieControlModeDefault

第三步可以通过观察MPMoviePlayerContentPreloadDidFinishNotification通知来完成。虽然这可能会导致无响应的黑屏(或您设置为MPMoviePlayerController对象的其他颜色backgroundColor),以防您播放流媒体视频,该视频实际上是由MPMoviePlayerController. 我现在在远程服务器上没有任何兼容格式的电影可供我使用,所以我无法测试这种情况是否真实,因此四处寻找是否可以采取一些措施来避免这种副作用(尽管我如果你在互联网的某个地方发布或找到这样的电影进行测试,我想我会这样做)。

于 2010-01-13T22:23:36.660 回答
0

提示:如果您不想了解我的长篇故事,请查看粗体文本,因为我实际上开始通过阅读文档并查看它提供的示例代码来研究问题。

你的问题引起了我的兴趣,所以我从查看iPhone Dev Center 上的 MPMoviePlayerController 类参考开始。我实际上没有找到与您偶然发现的问题相关的任何内容,因此我决定尝试使用此示例项目 MPMoviePlayerController 参考 - MoviePlayer。我只是想重现您的情况,并尝试通过模拟单个触摸事件或触发手动响应此事件的相同方法来处理它。

但事实证明,Apple 的示例项目实际上完全符合您的要求。它开始播放视频,并且覆盖控件从一开始就自动在屏幕外显示动画。我查看了代码,它相当简单,并没有以任何方式真正“处理”你遇到的这个问题。因此,可能是您所做的事情(或以某种不正确的顺序做的事情)导致了问题。检查一下,然后用治疗方法回复我们,因为从有用性指标来看,有些人也有类似的问题。

于 2010-01-12T21:27:33.493 回答