tap proxy

This commit is contained in:
Erekle
2016-05-17 00:01:14 +04:00
parent e1544f0f59
commit 7872d85ab0
2 changed files with 14 additions and 3 deletions

View File

@@ -100,6 +100,11 @@ NS_ASSUME_NONNULL_BEGIN
#pragma mark ASVideoNodeDelegate proxy methods
/**
* @abstract Delegate method invoked when ASVideoPlayerNode playback time is taped.
* @param videoPlayerNode The ASVideoPlayerNode that was tapped.
*/
- (void)videoPlayerNodeWasTapped:(ASVideoPlayerNode *)videoPlayer;
/**
* @abstract Delegate method invoked when ASVideoNode playback time is updated.
* @param videoPlayerNode The video node that was tapped.

View File

@@ -31,6 +31,7 @@ static void *ASVideoPlayerNodeContext = &ASVideoPlayerNodeContext;
unsigned int delegateVideoNodeWillChangeState:1;
unsigned int delegateVideoNodeShouldChangeState:1;
unsigned int delegateVideoNodePlaybackDidFinish:1;
unsigned int delegateVideoNodeTapped:1;
} _delegateFlags;
NSURL *_url;
@@ -393,10 +394,14 @@ static void *ASVideoPlayerNodeContext = &ASVideoPlayerNodeContext;
- (void)videoNodeWasTapped:(ASVideoNode *)videoNode
{
if (videoNode.playerState == ASVideoNodePlayerStatePlaying) {
[videoNode pause];
if (_delegateFlags.delegateVideoNodeTapped) {
[_delegate videoPlayerNodeWasTapped:self];
} else {
[videoNode play];
if (videoNode.playerState == ASVideoNodePlayerStatePlaying) {
[videoNode pause];
} else {
[videoNode play];
}
}
}
@@ -560,6 +565,7 @@ static void *ASVideoPlayerNodeContext = &ASVideoPlayerNodeContext;
_delegateFlags.delegateVideoNodeShouldChangeState = [_delegate respondsToSelector:@selector(videoPlayerNode:shouldChangeVideoNodeStateTo:)];
_delegateFlags.delegateTimeLabelAttributedString = [_delegate respondsToSelector:@selector(videoPlayerNode:timeStringForTimeLabelType:forTime:)];
_delegateFlags.delegatePlaybackButtonTint = [_delegate respondsToSelector:@selector(videoPlayerNodePlaybackButtonTint:)];
_delegateFlags.delegateVideoNodeTapped = [_delegate respondsToSelector:@selector(videoPlayerNodeWasTapped:)];
}
}