From 3e8437ae559487362fae3525beb79c534c213a51 Mon Sep 17 00:00:00 2001 From: 单军华 Date: Thu, 12 Jul 2018 13:44:34 +0800 Subject: [PATCH] bug修复和功能优化 --- screendisplay/Pods/ZFPlayer/ZFPlayer/Classes/Core/ZFPlayerMediaPlayback.h | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 160 insertions(+), 0 deletions(-) diff --git a/screendisplay/Pods/ZFPlayer/ZFPlayer/Classes/Core/ZFPlayerMediaPlayback.h b/screendisplay/Pods/ZFPlayer/ZFPlayer/Classes/Core/ZFPlayerMediaPlayback.h new file mode 100644 index 0000000..49f25a5 --- /dev/null +++ b/screendisplay/Pods/ZFPlayer/ZFPlayer/Classes/Core/ZFPlayerMediaPlayback.h @@ -0,0 +1,160 @@ +// +// ZFMediaPlayback.h +// ZFPlayer +// +// Copyright (c) 2016��� ��������� ( http://github.com/renzifeng ) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#import <Foundation/Foundation.h> +#import "ZFPlayerView.h" + +NS_ASSUME_NONNULL_BEGIN + +typedef NS_ENUM(NSUInteger, ZFPlayerPlaybackState) { + ZFPlayerPlayStateUnknown = 0, + ZFPlayerPlayStatePlaying, + ZFPlayerPlayStatePaused, + ZFPlayerPlayStatePlayFailed, + ZFPlayerPlayStatePlayStopped +}; + +typedef NS_OPTIONS(NSUInteger, ZFPlayerLoadState) { + ZFPlayerLoadStateUnknown = 0, + ZFPlayerLoadStatePrepare = 1 << 0, + ZFPlayerLoadStatePlayable = 1 << 1, + ZFPlayerLoadStatePlaythroughOK = 1 << 2, // Playback will be automatically started. + ZFPlayerLoadStateStalled = 1 << 3, // Playback will be automatically paused in this state, if started. +}; + +typedef NS_ENUM(NSInteger, ZFPlayerScalingMode) { + ZFPlayerScalingModeNone, // No scaling. + ZFPlayerScalingModeAspectFit, // Uniform scale until one dimension fits. + ZFPlayerScalingModeAspectFill, // Uniform scale until the movie fills the visible bounds. One dimension may have clipped contents. + ZFPlayerScalingModeFill // Non-uniform scale. Both render dimensions will exactly match the visible bounds. +}; + +@protocol ZFPlayerMediaPlayback <NSObject> + +@required +/// The view must inherited `ZFPlayerView`,this view deals with some gesture conflicts. +@property (nonatomic) ZFPlayerView *view; + +@optional +/// The player volume, 0...1.0 +/// Only affects audio volume for the player instance and not for the device. +/// You can change device volume or player volume as needed,change the player volume you can folllow the `ZFPlayerMediaPlayback` protocol. +@property (nonatomic) float volume; + +/// The player muted +/// indicates whether or not audio output of the player is muted. Only affects audio muting for the player instance and not for the device. +/// You can change device volume or player muted as needed,change the player muted you can folllow the `ZFPlayerMediaPlayback` protocol. +@property (nonatomic, getter=isMuted) BOOL muted; + +/// Playback speed,0.5...2 +@property (nonatomic) float rate; + +/// The player current play time. +@property (nonatomic, readonly) NSTimeInterval currentTime; + +/// The player total time. +@property (nonatomic, readonly) NSTimeInterval totalTime; + +/// The player buffer time. +@property (nonatomic, readonly) NSTimeInterval bufferTime; + +/// The player seek time. +@property (nonatomic) NSTimeInterval seekTime; + +/// The player play state,playing or not playing. +@property (nonatomic, readonly) BOOL isPlaying; + +/// Determines how the content scales to fit the view. Defaults to ZFPlayerScalingModeNone. +@property (nonatomic) ZFPlayerScalingMode scalingMode; + +/** + @abstract Check whether video preparation is complete. + @discussion isPreparedToPlay processing logic + + * If isPreparedToPlay is TRUE, you can call [ZFPlayerMediaPlayback play] API start playing; + * If isPreparedToPlay to FALSE, direct call [ZFPlayerMediaPlayback play], in the play the internal automatic call [ZFPlayerMediaPlayback prepareToPlay] API. + * Returns YES if prepared for playback. + */ +@property (nonatomic, readonly) BOOL isPreparedToPlay; + +/// The play asset URL. +@property (nonatomic) NSURL *assetURL; + +/// The video size. +@property (nonatomic, readonly) CGSize presentationSize; + +/// The playback state. +@property (nonatomic, readonly) ZFPlayerPlaybackState playState; + +/// The player load state. +@property (nonatomic, readonly) ZFPlayerLoadState loadState; + +/// The block invoked when the player is Ready to play. +@property (nonatomic, copy, nullable) void(^playerPrepareToPlay)(id<ZFPlayerMediaPlayback> asset, NSURL *assetURL); + +/// The block invoked when the player play progress changed. +@property (nonatomic, copy, nullable) void(^playerPlayTimeChanged)(id<ZFPlayerMediaPlayback> asset, NSTimeInterval currentTime, NSTimeInterval duration); + +/// The block invoked when the player play buffer changed. +@property (nonatomic, copy, nullable) void(^playerBufferTimeChanged)(id<ZFPlayerMediaPlayback> asset, NSTimeInterval bufferTime); + +/// The block invoked when the player playback state changed. +@property (nonatomic, copy, nullable) void(^playerPlayStatChanged)(id<ZFPlayerMediaPlayback> asset, ZFPlayerPlaybackState playState); + +/// The block invoked when the player load state changed. +@property (nonatomic, copy, nullable) void(^playerLoadStatChanged)(id<ZFPlayerMediaPlayback> asset, ZFPlayerLoadState loadState); + +/// The block invoked when the player play end. +@property (nonatomic, copy, nullable) void(^playerDidToEnd)(id<ZFPlayerMediaPlayback> asset); + +/// Prepares the current queue for playback, interrupting any active (non-mixible) audio sessions. +- (void)prepareToPlay; + +/// Reload player. +- (void)reloadPlayer; + +/// Play playback. +- (void)play; + +/// Pauses playback. +- (void)pause; + +/// Replay playback. +- (void)replay; + +/// Stop playback. +- (void)stop; + +/// Video UIImage at the current time. +- (UIImage *)thumbnailImageAtCurrentTime; + +/// Replace the current playback URL. +- (void)replaceCurrentAssetURL:(NSURL *)assetURL; + +/// Use this method to seek to a specified time for the current player and to be notified when the seek operation is complete. +- (void)seekToTime:(NSTimeInterval)time completionHandler:(void (^ __nullable)(BOOL finished))completionHandler; + +@end + +NS_ASSUME_NONNULL_END -- Gitblit v1.8.0