Commit ba3706f8 by zhangyunjie

2.6.4.0

parent 5679a0aa
......@@ -2,6 +2,11 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
......
......@@ -46,7 +46,7 @@
[super viewDidLoad];
self.nameTextField.text = @"杜拉拉";
self.koulingTextField.text = @"nv7jjqr1wsy";
self.koulingTextField.text = @"q6qbmnox3cy";
self.uuidTextField.text = [NSString stringWithFormat:@"%d",arc4random_uniform(1000000)];
self.nameTextField.delegate = self;
......
......@@ -8,7 +8,7 @@
Pod::Spec.new do |s|
s.name = 'OffcnLiveSDKiOS'
s.version = '2.6.3.8.1'
s.version = '2.6.4.0'
s.summary = 'OffcnLiveSDKiOS.'
s.description = <<-DESC
......@@ -28,9 +28,9 @@ TODO: Add long description of the pod here.
s.public_header_files = 'OffcnLiveSDKiOS/Classes/*.h'
#vendored_frameworks: 第三方framework
s.vendored_frameworks = ['OffcnLiveSDKiOS/Frameworks/ZGIJKMediaFramework.framework','OffcnLiveSDKiOS/Frameworks/WebRTC.framework']
s.vendored_frameworks = ['OffcnLiveSDKiOS/Frameworks/ZGIJKMediaFramework.framework','OffcnLiveSDKiOS/Frameworks/OffcnWhiteBoard.framework','OffcnLiveSDKiOS/Frameworks/WebRTC.framework']
#frameworks: 该pod依赖的系统framework
s.frameworks = 'CFNetwork', 'CoreFoundation', 'CoreData', 'Foundation', 'AudioToolbox', 'AVFoundation', 'CoreGraphics', 'CoreMedia', 'CoreVideo', 'MediaPlayer', 'MobileCoreServices', 'OpenGLES', 'QuartzCore', 'UIKit', 'VideoToolbox', 'SystemConfiguration', 'CoreTelephony'
s.frameworks = 'CFNetwork', 'CoreFoundation', 'CoreData', 'Foundation', 'AudioToolbox', 'AVFoundation', 'CoreGraphics', 'CoreMedia', 'CoreVideo', 'MediaPlayer', 'MobileCoreServices', 'OpenGLES', 'QuartzCore', 'UIKit', 'VideoToolbox', 'SystemConfiguration', 'CoreTelephony', 'CoreText'
s.vendored_libraries = ['OffcnLiveSDKiOS/Libraries/libOffcnLiveSDK.a']
......
......@@ -29,8 +29,54 @@ typedef NS_ENUM(NSInteger, OffcnReachabilityStatus) {
OffcnRealStatusViaWiFi = 2
};
@interface OffcnDownloadWhiteboardResourcesModel : NSObject
@property (nonatomic, copy) NSString *Idx;
@property (nonatomic, copy) NSString *Tm;
@property (nonatomic, copy) NSString *Url;
@property (nonatomic, copy) NSString *Typ;
@property (nonatomic, assign) BOOL isWb;
@end
@interface OffcnDownloadManagerModel : NSObject
//房间授课模式:0:房间模式,1:白板模式
@property (nonatomic, assign) NSInteger teaching_model;
//白板字体下载地址
@property (nonatomic, copy) NSString *board_font;
//白板字体下载后本地地址
@property (nonatomic, copy) NSString *board_font_local;
//白板wb文件下载地址
@property (nonatomic, copy) NSString *white_board_play_url;
//白板wb文件下载后本地地址
@property (nonatomic, copy) NSString *white_board_play_url_local;
//wb单个地址(key:帧index;value:未下载就是下载地址,已下载就是本地保存地址)
@property (nonatomic, strong) NSMutableDictionary *white_board_play_url_dic;
//回放播放时需要的每秒对应的wb的index
@property (nonatomic, strong) NSMutableArray *white_board_play_url_indexArr;
//白板ppt下载地址
@property (nonatomic, copy) NSString *white_board_resource_url;
//白板ppt下载后本地地址
@property (nonatomic, copy) NSString *white_board_resource_url_local;
//ppt单页地址(key:帧index;value:未下载就是下载地址,已下载就是本地保存地址)
@property (nonatomic, strong) NSMutableDictionary *white_board_resource_url_dic;
//回放播放时需要的每秒对应的ppt的index
@property (nonatomic, strong) NSMutableArray *white_board_resource_url_indexArr;
//已下载数量
@property (nonatomic, assign) BOOL isDownloadComplete_wb;
@property (nonatomic, assign) BOOL isDownloadComplete_ppt;
//对应下载的标识
@property (nonatomic, assign) int64_t param2;
@property (nonatomic, assign) BOOL isHasParam2;
//沙盒所有视频所在路径
@property (nonatomic, copy) NSString *documentPath;
//沙盒每个下载视频路径
......@@ -191,4 +237,17 @@ typedef void(^downloadM3u8CallBack)(BOOL isSuccess, NSError *error);
//下载m3u8文件
- (void)downloadM3u8WithModel:(OffcnDownloadManagerModel *)model;
/**
回放下载白板wb和ppt文件
@param model model
*/
- (void)downloadWhiteboardResourcesWithModel:(OffcnDownloadManagerModel *)model finished:(void(^)(BOOL success))finished;
//下载白板字体
- (void)downloadWhiteboardFontWithModel:(OffcnDownloadManagerModel *)model finished:(void(^)(OffcnDownloadManagerModel *model))finished;
//下载单个文件
- (void)downloadResource_oneUrlWithModel:(OffcnDownloadManagerModel *)model finished:(void(^)(BOOL success,NSString *path_local,OffcnDownloadManagerModel *callModel))finished;
@end
......@@ -9,7 +9,7 @@
#import <UIKit/UIKit.h>
#import "OffcnShareWindow.h"
static const NSString *OffcnLiveSDKVersion = @"2.6.3.8";
static const NSString *OffcnLiveSDKVersion = @"2.6.4.0";
//事件通知
#define kOffcnEventNotification @"kOffcnEventNotification"
......@@ -91,7 +91,7 @@ typedef void(^OffcnSDKEventCallBack)(OffcnSDKEvent event);
@property (nonatomic, assign) CGRect shareWindowFrame;
@property (nonatomic, strong) UIWindow *KKeyWindow;//获取自定义window
@property (nonatomic, strong) UIWindow *oldKKeyWindow;//三方的window
@property (nonatomic, strong) UIViewController *shareVC;
@property (nonatomic, weak) UIViewController *shareVC;
//是否支持全屏
......
//
// OffcnWhiteBoard.h
// OffcnWhiteBoard
//
// Created by offcnPlayer on 2021/2/26.
//
#import <Foundation/Foundation.h>
#import <OffcnWhiteBoard/WhiteboardGLView.h>
#import <OffcnWhiteBoard/WhiteboardType.h>
//! Project version number for OffcnWhiteBoard.
FOUNDATION_EXPORT double OffcnWhiteBoardVersionNumber;
//! Project version string for OffcnWhiteBoard.
FOUNDATION_EXPORT const unsigned char OffcnWhiteBoardVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <OffcnWhiteBoard/PublicHeader.h>
/*
offcn Whiteboard
*/
#import <UIKit/UIKit.h>
#import "WhiteboardType.h"
@protocol WhiteboardEventDelegate <NSObject>
-(void)whiteboardEentCallback:(WhiteboardEventType) eventType param1:(int64_t)param1 param2:(int64_t) param2 data:(NSData*)data;
-(void)whiteboardLostIndexCallback:(int)seq handle:(int64_t)handle;
-(void)whiteboardLostPageCallback:(NSString*)pageID handle:(int64_t)handle;
@end
typedef struct WBPoint{
int x;
int y;
}WBPoint;
@interface WhiteboardGLView : UIView
- (id) initWithFrame:(CGRect)frame playMode:(WhiteboardPlayerMode)playMode delegate:(id<WhiteboardEventDelegate>)delegate;
- (void)initWhiteboard:(id<WhiteboardEventDelegate>)delegate;
- (void)destroyWhiteboard;
- (BOOL)enableWhiteboard:(NSString*)imagePath;
- (BOOL)setEntityType:(WhiteboardEntityType)type;
-(WhiteboardPlayerMode)getCurrentPlayMode;
- (BOOL)whiteboardOpen:(NSData*)info;
- (BOOL)whiteboardLoad:(NSData*)pkt;
-(BOOL)closePrePage:(int64_t)handle;
- (BOOL)setMotionType:(WhiteboardMotionType)type;
//- (BOOL)resize:(int)width height:(int)height;
//start
-(BOOL)motionStart:(CGPoint)point;
-(BOOL)motionMove:(CGPoint)point;
-(BOOL)motionStop:(CGPoint)point;
-(BOOL)setEntityColor:(int)color;
-(BOOL)setEntityLineThickness:(float)thickness;
-(BOOL)setEntityFillType:(WhiteboardPaintStyle)type;
-(BOOL)setText:(int64_t)handle text:(NSString*)text;
-(BOOL)setFont:(NSString*)fontPath;
-(BOOL)createImage:(NSString*)localPath url:(NSString*)url;
-(BOOL)insertImage:(int64_t)handle path:(NSString*)path;
-(BOOL)createCanvas:(NSString*)imagePath;
-(BOOL)headCanvas;
-(BOOL)tailCanvas;
-(BOOL)nextCanvas;
-(BOOL)prevCanvas;
-(BOOL)deleteCanvas;
-(BOOL)clearCanvas;
-(BOOL)redraw;
-(void)resize;
-(BOOL)clearWhiteboardData;
-(BOOL)setTextAction:(int64_t)handle action:(int)action;
-(BOOL)setTextCursor:(int64_t)handle cursorType:(int)cursorType;
-(BOOL)setFontColor:(int64_t)handle fontColor:(int)fontColor;
-(BOOL)setFontSize:(int64_t)handle fontSize:(float)fontSize;
-(BOOL)setFontStyle:(int64_t)handle fontStyle:(int)fontStyle;
-(NSString*)getImageUrl:(int64_t)handle;
-(BOOL)setViewScale:(float)scale isOptimize:(BOOL)isOptimize;
-(float)getViewScale;
-(BOOL)setViewScaleCenterPoint:(WBPoint)point;
-(WBPoint)getViewScrollPoint;
-(BOOL)setViewScrollPoint:(WBPoint)point isOptimize:(BOOL)isOptimize;
-(WBPoint)getViewScrollRange;
-(BOOL)pushWhiteboardDataFromHttp:(NSData*)data;
-(BOOL)pushWhiteboardDataFromPlayer:(NSData*)data;
-(BOOL)pushWhiteboardDataFromFile:(NSString*)filePath operationSeq:(int)operationSeq;
-(BOOL)pushWhiteboardDataFromFileByIndex:(NSString*)filePath operationSeq:(int)operationSeq;
-(BOOL)pushWhiteboardDataFromFileWithHandle:(NSString*)filePath operationSeq:(int)operationSeq handle:(int64_t)handle;
@property(nonatomic) CGFloat scaleFactor;
@property(weak,nonatomic) id<WhiteboardEventDelegate> eventDelegate;
@end
//
// WhiteboardType.h
// OffcnWhiteboard
//
// Created by offcnPlayer on 2021/3/11.
//
#ifndef WhiteboardType_h
#define WhiteboardType_h
typedef enum WhiteboardEntityType
{
WhiteboardEntityLine = 0,
WhiteboardEntityRect,
WhiteboardEntityOval,
WhiteboardEntityPath,
WhiteboardEntityText,
WhiteboardEntityImage,
WWhiteboardEntityCount
}WhiteboardEntityType;
typedef enum WhiteboardMotionType
{
WhiteboardNewEntity = 0,
WhiteboardDelEntity,
WhiteboardEditEntity,
}WhiteboardMotionType;
typedef enum WhiteboardEventType
{
WhiteboardEventBag,
WhiteboardEventIdr,
WhiteboardEventOpen,
WhiteboardEventClose,
WhiteboardEventClear,
WhiteboardEntityBag,
WhiteboardEntityAdd,
WhiteboardEntityDel,
WhiteboardEntityFront,
WhiteboardEntityBack,
WhiteboardEntityEdt,
WhiteboardEntityMove,
WhiteboardTextEdt,
WhiteboardEntityEnd,
WhiteboardEventCreate,
WhiteboardEventCatch,
WhiteboardEntitySel,
WhiteboardEntityUnSel,
WhiteboardTextInputStart,
WhiteboardTextInputStop,
WhiteboardImageLoad,
WhiteboardFontLoad,
WhiteboardHTMLLoad,
WhiteboardRedraw,
WhiteboardPacketOut,
WhiteboardEventEnd,
WhiteboardUnknownEvent
}WhiteboardEventType;
typedef enum WhiteboardPaintStyle
{
WhiteboardPaintStyleFill=0x00,
WhiteboardPaintStyleStroke,
WhiteboardPaintStyleFillStroke
}WhiteboardPaintStyle;
typedef enum WhiteboardPlayerMode
{
WhiteboardPlayerLiving=0x00,
WhiteboardPlayerVOD
}WhiteboardPlayerMode;
#endif /* WhiteboardType_h */
// Copyright (c) 2018 Google Inc. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
framework module OffcnWhiteBoard {
umbrella header "OffcnWhiteBoard.h"
export *
module * { export * }
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>.DS_Store</key>
<data>
VvNG2xxRYPZZ7gPUBpLmOei0PEQ=
</data>
<key>Headers/OffcnWhiteBoard.h</key>
<data>
eoUOERJgC/EboBgwqGwPSE7IySQ=
</data>
<key>Headers/WhiteboardGLView.h</key>
<data>
P6L/7UnoqFOY/xCTo4EBmMhKXmI=
</data>
<key>Headers/WhiteboardType.h</key>
<data>
K8qgz8pdWWPbtYuSpBrrkCV4MKQ=
</data>
<key>Info.plist</key>
<data>
PfnMczkXfrSIUW+lExWFSC3zA94=
</data>
<key>LICENSE</key>
<data>
tINWhQnPa5eml8zvzV2d8pzfTx8=
</data>
<key>Modules/module.modulemap</key>
<data>
il8gSRETznRJV25lh83Q25QHuCg=
</data>
<key>whiteboard.cbp</key>
<data>
XidwOASmWbztb7iSTDjdCnP2sCI=
</data>
<key>whiteboard.cscope_file_list</key>
<data>
PoNTTRRh4DxeFotHam36H8zXW6c=
</data>
<key>whiteboard.pri</key>
<data>
LK2fV3ckQrKhRmvM06Tqha/fhIg=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/OffcnWhiteBoard.h</key>
<dict>
<key>hash</key>
<data>
eoUOERJgC/EboBgwqGwPSE7IySQ=
</data>
<key>hash2</key>
<data>
1c6ZLrhx2tyugDOvzDdR1wL4InqgI69zLR6ffko/nZQ=
</data>
</dict>
<key>Headers/WhiteboardGLView.h</key>
<dict>
<key>hash</key>
<data>
P6L/7UnoqFOY/xCTo4EBmMhKXmI=
</data>
<key>hash2</key>
<data>
afr6hu7hW6xFG0KlzuuRpBpUNa7HzNknPe8fGh4KC3A=
</data>
</dict>
<key>Headers/WhiteboardType.h</key>
<dict>
<key>hash</key>
<data>
K8qgz8pdWWPbtYuSpBrrkCV4MKQ=
</data>
<key>hash2</key>
<data>
OWbOEOMqaT8uoxDbTywCJjv4xe9plm+bcflRUrIIccU=
</data>
</dict>
<key>LICENSE</key>
<dict>
<key>hash</key>
<data>
tINWhQnPa5eml8zvzV2d8pzfTx8=
</data>
<key>hash2</key>
<data>
5Zu1xca6QmqaxLqf5metFMUWaxKqJb6K8dEisU++LjY=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
<key>hash</key>
<data>
il8gSRETznRJV25lh83Q25QHuCg=
</data>
<key>hash2</key>
<data>
xMQWtGbxqUiZG8TFkJLi+LtOSYRx6yM/mUE3q4gqxyI=
</data>
</dict>
<key>whiteboard.cbp</key>
<dict>
<key>hash</key>
<data>
XidwOASmWbztb7iSTDjdCnP2sCI=
</data>
<key>hash2</key>
<data>
XCMkrAPfxssvgXRgvautZsSM6WO8Rh46SlJSVTvaxTw=
</data>
</dict>
<key>whiteboard.cscope_file_list</key>
<dict>
<key>hash</key>
<data>
PoNTTRRh4DxeFotHam36H8zXW6c=
</data>
<key>hash2</key>
<data>
7h6ikmEn3y+kFlrHscLU7s4DDOHIj3fLOx/nLt2Sf1c=
</data>
</dict>
<key>whiteboard.pri</key>
<dict>
<key>hash</key>
<data>
LK2fV3ckQrKhRmvM06Tqha/fhIg=
</data>
<key>hash2</key>
<data>
DtydknqR8ZhVKIJJJdr/v8dkF1Zl/EUwSQgyppAvEHk=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="whiteboard" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="../bin/whiteboard" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
<Option object_output="../obj/Debug/whiteboard/" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-g" />
<Add directory="whiteboard" />
</Compiler>
</Target>
<Target title="Release">
<Option output="../bin/whiteboard" prefix_auto="1" extension_auto="1" />
<Option object_output="../obj/Release/whiteboard/" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-O2" />
<Add directory="whiteboard" />
</Compiler>
<Linker>
<Add option="-s" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
<Add option="-std=c++17" />
<Add option="-fPIC" />
<Add option="-fno-exceptions" />
<Add option="-fno-rtti" />
<Add directory="../../third/skia" />
</Compiler>
<Linker>
<Add option="-ldl" />
<Add option="-lpthread" />
<Add option="-lfontconfig" />
<Add option="-lfreetype" />
<Add option="-luuid" />
<Add option="-lskia" />
<Add library="GL" />
<Add directory="../../third/skia/out/default" />
</Linker>
<Unit filename="../inc/core.h" />
<Unit filename="../inc/whiteboard.h" />
<Unit filename="canvas.cpp" />
<Unit filename="canvas.h" />
<Unit filename="entity.cpp" />
<Unit filename="entity.h" />
<Unit filename="image.cpp" />
<Unit filename="image.h" />
<Unit filename="line.cpp" />
<Unit filename="line.h" />
<Unit filename="main_api.cpp" />
<Unit filename="ops.cpp" />
<Unit filename="ops.h" />
<Unit filename="oval.cpp" />
<Unit filename="oval.h" />
<Unit filename="path.cpp" />
<Unit filename="path.h" />
<Unit filename="rect.cpp" />
<Unit filename="rect.h" />
<Unit filename="richeditor.cpp" />
<Unit filename="richeditor.h" />
<Unit filename="sk_canvas.cpp" />
<Unit filename="sk_canvas.h" />
<Unit filename="stdafx.h" />
<Unit filename="text.cpp" />
<Unit filename="text.h" />
<Unit filename="wb_engine.cpp" />
<Unit filename="wb_engine.h" />
<Extensions />
</Project>
</CodeBlocks_project_file>
"/root/Documents/git/smartboard/whiteboard/canvas.h"
"/root/Documents/git/smartboard/whiteboard/wb_engine.h"
"/root/Documents/git/smartboard/whiteboard/wb_engine.cpp"
"/root/Documents/git/smartboard/whiteboard/canvas.cpp"
"/root/Documents/git/smartboard/whiteboard/main.cpp"
"/root/Documents/git/smartboard/whiteboard/stdafx.h"
"/root/Documents/git/smartboard/whiteboard/sk_canvas.h"
"/root/Documents/git/smartboard/inc/whiteboard.h"
"/root/Documents/git/smartboard/whiteboard/sk_canvas.cpp"
INCLUDEPATH += $$PWD
CONFIG += c++17
DEFINES += SK_GL SK_SUPPORT_GPU QT_NO_FOREACH
HEADERS += \
$$PWD/canvas.h \
$$PWD/cursor.h \
$$PWD/entity.h \
$$PWD/image.h \
$$PWD/line.h \
$$PWD/oval.h \
$$PWD/path.h \
$$PWD/rect.h \
$$PWD/richeditor.h \
$$PWD/sk_canvas.h \
$$PWD/stdafx.h \
$$PWD/text.h \
$$PWD/wb_engine.h
SOURCES += \
$$PWD/canvas.cpp \
$$PWD/cursor.cpp \
$$PWD/entity.cpp \
$$PWD/image.cpp \
$$PWD/line.cpp \
$$PWD/main_api.cpp \
$$PWD/oval.cpp \
$$PWD/path.cpp \
$$PWD/rect.cpp \
$$PWD/richeditor.cpp \
$$PWD/sk_canvas.cpp \
$$PWD/text.cpp \
$$PWD/wb_engine.cpp
INCLUDEPATH += \
E:\\Workspace\\skia_chrome_m88 \
E:\\Workspace\\skia_chrome_m88\\include \
E:\\Workspace\\skia_chrome_m88\\include\\core \
E:\\Workspace\\skia_chrome_m88\\src\\core \
E:\\Workspace\\skia_chrome_m88\\src\\utils \
E:\\Workspace\\skia_chrome_m88\\samplecode \
E:\\Workspace\\skia_chrome_m88\\tools\\sk_app
CONFIG(debug, debug|release) {
LIBS += -LE:\\Workspace\\skia_chrome_m88\\out\\Static_Debug_x86 -lskia -lUser32 -lOpengl32 -ld3dcompiler -lD3D12
} else {
LIBS += -LE:\\Workspace\\skia_chrome_m88\\out\\Static -lskia -lUser32 -lOpengl32 -ld3dcompiler -lD3D12
}
......@@ -126,6 +126,8 @@ typedef enum IJKLogLevel {
@property (nonatomic, retain) id<IJKMediaUrlOpenDelegate> liveOpenDelegate;
@property (nonatomic, retain) id<IJKMediaNativeInvokeDelegate> nativeInvokeDelegate;
@property (nonatomic, retain) id<OFFCNWhiteboardDelegate> whiteboardDataDelegate;
- (void)didShutdown;
......
......@@ -58,6 +58,11 @@ typedef NS_ENUM(NSInteger, IJKMPMoviePullState) {
IJKMPMoviePullStateSuccessed
};
typedef NS_ENUM(NSInteger, IJKMPMoviePlayerAndWhiteboardStyle) {
IJKMPMovieWhiteboardStyle,
IJKMPMoviePlayerStyle
};
typedef NS_ENUM(NSInteger, IJKMPMovieWarningType) {
IJKMPMovieBufferEmptyWarning,
IJKMPMovieAVLostSynWarning,
......@@ -214,6 +219,12 @@ IJK_EXTERN NSString *const ZGIJKMPMoviePlayerDidBufferEnoughNotification;
IJK_EXTERN NSString *const ZGIJKMPMoviePlayerDidPullStreamStateNotification;
IJK_EXTERN NSString *const ZGIJKMPMoviePlayerDidPullStreamStateUserInfoKey;
IJK_EXTERN NSString *const ZGIJKMPMoviePlayerDidPlayerAndWhiteboardCommandNotification;
IJK_EXTERN NSString *const ZGIJKMPMoviePlayerDidPlayerAndWhiteboardCommandUserInfoKey;
IJK_EXTERN NSString *const ZGIJKMPMoviePlayerWhiteboardIndexNotification;
IJK_EXTERN NSString *const ZGIJKMPMoviePlayerWhiteboardIndexUserInfoKey;
IJK_EXTERN NSString *const ZGIJKMPMoviePlayerDidKeyFrameNotification;
IJK_EXTERN NSString *const ZGIJKMPMoviePlayerWarningNotification;
......@@ -274,6 +285,13 @@ typedef NS_ENUM(NSInteger, IJKMediaEvent) {
@end
@protocol OFFCNWhiteboardDelegate <NSObject>
- (void)whiteboardDataCallback:(NSData*)data;
- (void)whiteboardCommandInfo:(int)commandType param:(int)param;
@end
@protocol IJKMediaNativeInvokeDelegate <NSObject>
- (int)invoke:(IJKMediaEvent)event attributes:(NSDictionary *)attributes;
......
......@@ -34,6 +34,13 @@ typedef NS_ENUM(NSInteger,PlayerState)
PLAYER_STATE_SEEK_COMPLETED
};
typedef NS_ENUM(NSInteger,ZGPlayerThirdPartyCommand) {
COMMAND_WHITEBOARD_MAIN_SHOW,
COMMAND_PLAYER_MAIN_SHOW,
};
@protocol PlayerStateDelegate <NSObject>
@optional
......@@ -41,6 +48,9 @@ typedef NS_ENUM(NSInteger,PlayerState)
-(void) onPlayerStateChanged:(PlayerState) playerState;
-(void) onCurrentPosition:(NSTimeInterval)curPos totalDuration:(NSTimeInterval)duration;
-(void) onWhiteboardData:(NSData*)data;
-(void) onWhiteboardOperationIndex:(int)operationIndex;
-(void) onCommand:(ZGPlayerThirdPartyCommand)command param:(int)param;
@end
......@@ -60,6 +70,9 @@ typedef enum ZGPlayerType {
TYPE_MPMOIVE_PLAYER = 3,
} ZGPlayerType;
@property(nonatomic, strong) NSURL* url; // 拉流地址
@property(nonatomic,weak) id<PlayerStateDelegate> delegate;
......
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