Commit ecfaba77 authored by 朱璇's avatar 朱璇

Merge branch 'zx/faceTest' into 'master'

修改三体库 依赖方式

See merge request !12
parents 3ca7995c 0ce5c86a
......@@ -41,6 +41,8 @@ PODS:
- PLMediaStreamingKit
- PLPlayerKit
- Qiniu
- TTTPlayerKit_iOS
- TTTRtcEngineKit_iOS
- YYText
- GMAlbum (4.1.3):
- GMBase
......@@ -174,6 +176,8 @@ PODS:
- SDWebImage/Core (5.8.0)
- SnapKit (4.2.0)
- TMCache (2.1.0)
- TTTPlayerKit_iOS (1.7.0)
- TTTRtcEngineKit_iOS (2.9.5)
- "UITableView+FDTemplateLayoutCell (1.4)"
- WechatOpenSDK (1.8.6.2)
- Weibo_SDK (3.2.7)
......@@ -223,6 +227,8 @@ SPEC REPOS:
- SDWebImage
- SnapKit
- TMCache
- TTTPlayerKit_iOS
- TTTRtcEngineKit_iOS
- "UITableView+FDTemplateLayoutCell"
- WechatOpenSDK
- Weibo_SDK
......@@ -272,7 +278,7 @@ SPEC CHECKSUMS:
DouyinOpenSDK: 5ba83de22963ba7a3ba70c8ff11dfcb2885ecc2b
EVReflection: 1abc1a81927ab0d30170238cf9b79bff489e9728
GM-Swift-Observable: 756d8fc13638b9faa68cb10266b2ffb47a911595
GMAILab: b9a8af2ea2ddf9e5b167573eeaa7746d65cefdf8
GMAILab: bf1d449bf69e3790fc7e44625d0b583c3edf230c
GMAlbum: d667396a6dab574a45af71dfebd1a75257c80192
GMBase: 358e72062cb0f64a57ff34ec181b20ad9973d79b
GMBaseSwift: 8f327883b33ac24d0dcdb648ac3f9d6c57949ad5
......@@ -303,6 +309,8 @@ SPEC CHECKSUMS:
SDWebImage: 84000f962cbfa70c07f19d2234cbfcf5d779b5dc
SnapKit: fe8a619752f3f27075cc9a90244d75c6c3f27e2a
TMCache: 95ebcc9b3c7e90fb5fd8fc3036cba3aa781c9bed
TTTPlayerKit_iOS: e97074d0254e7cb26d88b6be1ec161f621a0a438
TTTRtcEngineKit_iOS: f0eeee8ffa9a0e1ce023829aae52fb8765c13a2c
"UITableView+FDTemplateLayoutCell": 234e1582bcc4e18461af91155123bb96538ed030
WechatOpenSDK: 8b3ba4239193d1112205c139c94e21934e8f369a
Weibo_SDK: 5a4d08f7e1fedbb635435e4585c8c0439c7da089
......
......@@ -64,7 +64,7 @@ TODO: Add long description of the pod here.
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
# s.sta
s.vendored_frameworks = 'GMAILab/Frameworks/*.framework'
# s.vendored_frameworks = 'GMAILab/Frameworks/*.framework'
s.dependency 'GMBase'
s.dependency 'GMKit'
......@@ -96,8 +96,8 @@ TODO: Add long description of the pod here.
# s.pod_target_xcconfig = { 'VALID_ARCHS[sdk=iphonesimulator*]' => '' }
# s.dependency 'TTTRtcEngineKit_iOS'
# s.dependency 'TTTPlayerKit_iOS'
s.dependency 'TTTRtcEngineKit_iOS'
s.dependency 'TTTPlayerKit_iOS'
s.static_framework = true
# s.pod_target_xcconfig = { 'VALID_ARCHS' => 'armv7' }
......
......@@ -8,6 +8,7 @@
#import "GMRtcManager.h"
#import "GMFaceHeader.h"
@implementation GMRtcManager : NSObject
static id _manager;
......
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "TTTPlayerOptions.h"
/**
TTTPlayer 的播放状态
*/
typedef NS_ENUM(NSInteger, TTTPlayerStatus) {
/**
未知状态,只会作为 init 后的初始状态,开始播放之后任何情况下都不会再回到此状态。
*/
TTTPlayerStatusUnknow = 0,
/**
正在准备播放所需组件,在调用 play 方法时出现。
*/
TTTPlayerStatusPreparing,
/**
播放组件准备完成,准备开始播放,在调用 play 方法时出现。
*/
TTTPlayerStatusReady,
/**
TTTPlayer 缓存数据为空状态
*/
TTTPlayerStatusCaching,
/**
正在播放状态
*/
TTTPlayerStatusPlaying,
/**
暂停状态
*/
TTTPlayerStatusPaused,
/**
停止状态
该状态仅会在回放时播放结束出现,RTMP 直播结束并不会出现此状态
*/
TTTPlayerStatusStopped,
/**
错误状态,播放出现错误时会出现此状态。
*/
TTTPlayerStatusError
};
/**
TTTPlayer 的统计信息类
*/
@interface TTTPlayerStatsInfo : NSObject
@property (nonatomic, assign) int frameRate; // 帧率(fps)
@property (nonatomic, assign) int videoBitrate; // 视频的码率(kbps)
@property (nonatomic, assign) int audioBitrate; // 音频的码率(kbps)
@property (nonatomic, assign) int width; // 视频宽
@property (nonatomic, assign) int height; // 视频高
@property (nonatomic, assign) int audioDelay; // 音频延迟(ms)
@property (nonatomic, assign) int videoDelay; // 视频延迟(ms)
@end
@protocol TTTPlayerDelegate;
/**
TTTPlayer 是 TTTPlayerKit 中负责播放控制的核心类
*/
@interface TTTPlayer : NSObject
/**
代理对象,用于告知播放器状态改变或其他行为,对象需实现 TTTPlayerDelegate 协议
*/
@property (nonatomic, weak) id<TTTPlayerDelegate> delegate;
/**
TTTPlayer 的 options 对象
*/
@property (nonatomic, strong, readonly) TTTPlayerOptions *options;
/**
TTTPlayer 的画面输出到该 UIView 对象
*/
@property (nonatomic, strong, readonly) UIView *playerView;
/**
TTTPlayer 的播放状态
*/
@property (nonatomic, assign, readonly) TTTPlayerStatus status;
/**
指示当前 TTTPlayer 是否处于正在播放状态
*/
@property (nonatomic, assign, readonly, getter=isPlaying) BOOL playing;
/**
TTTPlayer 的当前播放时间
*/
@property (nonatomic, assign, readonly) NSTimeInterval currentTime;
/**
TTTPlayer 的总播放时间
*/
@property (nonatomic, assign, readonly) NSTimeInterval totalDuration;
/** 旋转视频只支持0、90、180、270*/
@property (nonatomic) int rotateDegress;
/**
使用 URL 和 options 生成一个 TTTPlayer 对象
@param URL 需要播放的 URL
@param options 播放器初始化选项,传入 nil 值将按照默认选项进行初始化
@return 生成的 TTTPlayer 对象
*/
+ (instancetype)playerWithURL:(NSURL *)URL options:(TTTPlayerOptions *)options;
/**
使用 url 和 option 初始化一个 TTTPlayer 对象
@param URL 需要播放的 URL
@param options 播放器初始化选项,传入 nil 值将按照默认选项进行初始化
@return 初始化后的 TTTPlayer 对象
*/
- (instancetype)initWithURL:(NSURL *)URL options:(TTTPlayerOptions *)options;
/**
开始播放
*/
- (void)play;
/**
当播放器处于暂停状态时调用该方法可以使播放器继续播放
*/
- (void)resume;
/**
当播放器处于 playing 或 caching 状态时调用该方法可以暂停播放器
*/
- (void)pause;
/**
停止播放
*/
- (void)stop;
/**
快速定位到指定播放时间点,该方法仅在回放时起作用,直播场景下该方法直接返回
*/
- (void)seekTo:(NSTimeInterval)time;
/**
调节播放音量
@param volume 0-100
*/
- (void)setPlaybackVolume:(int)volume;
- (UIImage *)thumbnailImageAtCurrentTime;
#pragma mark - KTV
/**
KTV场景再play之前调用该接口
*/
- (void)prepareForKTV;
/**
调节KTV播放音量
@param volume 0-100
*/
- (void)adjustKTVVolume:(int)volume;
/**
* 拉取KTV音频数据
*
* @param data 数据地址
* @param size 数据长度
* @param sampleRate 采样率
* @param channels 声道数
*/
- (void)pullKTVAudioData:(char *)data size:(int)size sampleRate:(int)sampleRate channels:(int)channels;
+ (NSString *)getVersion;
@end
/**
TTTPlayer 的代理协议
*/
@protocol TTTPlayerDelegate <NSObject>
@optional;
/**
告知代理对象播放器状态变更
@param player 调用该方法的 TTTPlayer 对象
@param playerStatus 变更之后的 TTTPlayer 状态
*/
- (void)player:(TTTPlayer *)player statusDidChange:(TTTPlayerStatus)playerStatus;
/**
告知代理对象播放器因错误停止播放
@param player 调用该方法的 TTTPlayer 对象
@param error 携带播放器停止播放错误信息的 NSError 对象
*/
- (void)player:(TTTPlayer *)player stoppedWithError:(NSError *)error;
/**
告知代理对象播放器统计信息(每2秒触发一次)
@param player 调用该方法的 TTTPlayer 对象
@param statsInfo 统计信息
*/
- (void)player:(TTTPlayer *)player statsInfo:(TTTPlayerStatsInfo *)statsInfo;
/**
告知代理对象播放器H264SEI
@param player 调用该方法的 TTTPlayer 对象
@param sei H264SEI
*/
- (void)player:(TTTPlayer *)player playbackH264SEI:(NSString *)sei;
/**
告知代理对象播放器H264SEI中的音量信息
@param player 调用该方法的 TTTPlayer 对象
@param volInfo 音量信息
*/
- (void)player:(TTTPlayer *)player playbackVolInfo:(NSArray<NSDictionary *> *)volInfo;
/**
* 视频第一帧解码成功
*/
- (void)playerVideoDecoderOpen:(TTTPlayer *)player;
- (void)playerVideoFrameRenderedStart:(TTTPlayer *)player;
- (void)playerRenderOverlay:(TTTPlayer *)player;
#pragma mark - KTV
/**
回调KTV视频数据信息
@param player 调用该方法的 TTTPlayer 对象
@param data 420P数据
@param width 视频宽
@param height 视频高
*/
- (void)player:(TTTPlayer *)player videoData:(NSData *)data width:(int)width height:(int)height;
/**
回调KTV音频数据信息
@param player 调用该方法的 TTTPlayer 对象
@param data 音频数据
*/
- (void)player:(TTTPlayer *)player audioData:(NSData *)data;
@end
#import <UIKit/UIKit.h>
//! Project version number for TTTPlayerKit.
FOUNDATION_EXPORT double TTTPlayerKitVersionNumber;
//! Project version string for TTTPlayerKit.
FOUNDATION_EXPORT const unsigned char TTTPlayerKitVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <TTTPlayerKit/PublicHeader.h>
#import "TTTPlayer.h"
#import <Foundation/Foundation.h>
#import <MediaPlayer/MediaPlayer.h>
typedef NS_ENUM(NSUInteger, TTTPlayerMovieScalingMode) {
TTTPlayerMovieScalingModeNone, // No scaling
TTTPlayerMovieScalingModeAspectFit, // Uniform scale until one dimension fits
TTTPlayerMovieScalingModeAspectFill, // Uniform scale until the movie fills the visible bounds. One dimension may have clipped contents
TTTPlayerMovieScalingModeFill // Non-uniform scale. Both render dimensions will exactly match the visible bounds
};
/**
TTTPlayer 的可选配置类,在初始化 TTTPlayer 对象的时候传入其实例进行 TTTPlayer 的可选项配置
*/
@interface TTTPlayerOptions : NSObject
@property (nonatomic, assign) TTTPlayerMovieScalingMode movieScalingMode;
/**
使用默认配置生成一个 TTTPlayerOption 对象
*/
+ (nonnull TTTPlayerOptions *)defaultOptions;
@end
framework module TTTPlayerKit {
umbrella header "TTTPlayerKit.h"
export *
module * { export * }
}
framework module TTTRtcEngineKit {
umbrella header "TTTRtcEngineKit.h"
export *
module * { export * }
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment