我已经通过以下代码检测到了上一个/下一个按钮的点击,但仍然没有找到区分两次点击的方法。
@implementation MyMovieController:MPMoviePlayerController[[NSNotificationCenter defaultCenter]
addObserver:self selector:@selector(movieChangeCallBack:)
name:MPMoviePlayerPlaybackStateDidChangeNotification object:nil];
并定义 - (void)movieChangeCallBack:(NSNotification *)aNotification
- (void)movieChangeCallBack:(NSNotification*) aNotification {
if (self.playbackState == MPMoviePlaybackStateStopped)
{
//Touched 'Previous' or 'Next' button.
}
}
有没有办法判断之前的'或者' next'单击按钮? 谢谢:))
答案 0 :(得分:1)
不幸的是,默认情况下,MPMoviePlayerController
会在点击上一个或下一个时触发MPMoviePlayerPlaybackStateDidChangeNotification
。没有办法唯一地通知每个人是否被点击。
我找到的唯一方法是为向后和向前创建自己的自定义控件,为其添加目标以执行操作:
[prevBtn addTarget:self action:@selector(onClick:)
forControlEvents:UIControlEventTouchUpInside];
[nextBtn addTarget:self action:@selector(onClick:)
forControlEvents:UIControlEventTouchUpInside];
然后在您的onClick
方法中:
(void)onClick:(UIButton*)sender
{
if (sender == prevBtn)
{
// Do whatever when prevBtn is tapped
}
else if (sender == nextBtn)
{
// Do whatever when nextBtn is tapped
}
}
仅供参考:您必须将玩家的controlStyle
属性设置为MPMovieControlStyleNon
才能隐藏默认控件。
答案 1 :(得分:0)
不推荐使用MPMoviePlayerController / MPMoviePlayerPlaybackStateDidChangeNotification NS_DEPRECATED_IOS(3_2,9_0)。你应该切换到AVPlayer。