PLVVodMediaSettings
Objective-C
@interface PLVVodMediaSettings : NSObject
/// userid
@property (nonatomic, copy, readonly) NSString *userid;
/// readtoken
@property (nonatomic, copy, readonly) NSString *readtoken;
/// writetoken
@property (nonatomic, copy, readonly) NSString *writetoken;
/// secretkey
@property (nonatomic, copy, readonly) NSString *secretkey;
/// 子账号appid
@property (nonatomic, copy, readonly) NSString *appid;
/// 请求自定义keyToken。
/// 下载加密视频时,若设置此block将优先使用block获取的值来解密视频;没有设置此block则sdk自动处理解密;
@property (nonatomic, copy) NSString *(^requestCustomKeyTokenBlock)(NSString *vid);
/// 终端用户id
@property (nonatomic, copy) NSString *viewerId;
/// 终端用户昵称
@property (nonatomic, copy) NSString *viewerName;
/// 终端用户头像
@property (nonatomic, copy) NSString *viewerAvatar;
/// viewlog 参数设置
@property (nonatomic, strong) PLVVodMediaViewerInfo *viewerInfos;
/// 终端用户播放令牌额外参数
@property (nonatomic, copy) NSString *viewerTokenExtraParam;
/// 是否启用多账户,默认 NO。开启后可播放、下载除了配置的账号以外的其他账号的非加密视频。
@property (nonatomic, assign, getter=isMutilAccount) BOOL mutilAccount;
/// 日志输出等级,默认 PLVVodMediaLogLevelWithoutDebug
@property (nonatomic, assign) PLVVodMediaLogLevel logLevel;
/// 是否启动 HTTPDNS,默认 YES. 优先级低于远端的httpDnsMode属性
@property (nonatomic, assign) BOOL enableHttpDNS;
/// 是否启用 IPV6,如果启用,将自动选择IP,取消HTTPDNS
@property (nonatomic, assign) BOOL enableIPV6;
/// 延迟启动 HttpDNS,enableHttpDNS 为 YES 时生效,默认 NO
@property (class, nonatomic, assign) BOOL delayHttpDNS DEPRECATED_MSG_ATTRIBUTE("HttpDNS将在获取视频信息的时候启动,此属性已废弃");
/// 延迟启动 HttpDNS 的时间,delayHttpDNS 为 YES 时生效,默认 2(单位:秒)
@property (class, nonatomic, assign) NSInteger delayHttpDNSTime DEPRECATED_MSG_ATTRIBUTE("HttpDNS将在获取视频信息的时候启动,此属性已废弃");
/// 错误回调
@property (nonatomic, copy) void (^settingErrorHandler)(NSError *error);
/**
获取 PLVVodMediaSettings 静态对象
@return PLVVodMediaSettings 静态对象
*/
+ (instancetype)sharedSettings;
/**
通过 userid、readtoken、writetoken、secretkey 配置账号
@param userid userid
@param readtoken readtoken
@param writetoken writetoken
@param secretkey secretkey
@return 新的 PLVVodMediaSettings 静态对象
*/
+ (instancetype)settingsWithUserid:(NSString *)userid readtoken:(NSString *)readtoken writetoken:(NSString *)writetoken secretkey:(NSString *)secretkey;
/**
使用加密串配置账号
@param configString 加密串
@param error 解密、配置过程的错误
@return 新的 PLVVodMediaSettings 静态对象
*/
+ (instancetype)settingsWithConfigString:(NSString *)configString error:(NSError **)error ;
/**
使用加密串、加密秘钥、加密向量配置账号
@param configString 加密串
@param key 加密秘钥
@param iv 加密向量
@param error 解密、配置过程的错误
@return 新的 PLVVodMediaSettings 静态对象
*/
+ (instancetype)settingsWithConfigString:(NSString *)configString key:(NSString *)key iv:(NSString *)iv error:(NSError **)error;
/**
通过appid,secretkey,总帐号userid 配置子帐号
@param appId 子帐号appid
@param secretKey 子帐号加密key
@param userId 总帐号userid
*/
+ (instancetype)settingsWithAppId:(NSString *)appId secretKey:(NSString *)secretKey userId:(NSString *)userId;
#pragma mark -- 多账号相关 --
/// 多账号就是在特殊场景下,可以同时播放和下载来自不同账号的视频。
/// 通过 userid、readtoken、writetoken、secretkey 添加多账号,请先使用主账号初始化SDK后再调用
/// @param userid userid
/// @param readtoken readtoken
/// @param writetoken writetoken
/// @param secretkey secretkey
/// @param error 解密、配置过程的错误
+ (instancetype)addAccountWithUserid:(NSString *)userid readtoken:(NSString *)readtoken writetoken:(NSString *)writetoken secretkey:(NSString *)secretkey error:(NSError **)error;
/// 使用加密串添加账号,请先使用主账号初始化SDK后再调用
/// @param configString 加密串
/// @param error 解密、配置过程的错误
+ (instancetype)addAccountWithConfigString:(NSString *)configString error:(NSError **)error;
/// 使用加密串、加密秘钥、加密向量添加账号,请先使用主账号初始化SDK后再调用
/// @param configString 加密串
/// @param key 加密秘钥
/// @param iv 加密向量
/// @param error 解密、配置过程的错误
+ (instancetype)addAccountWithConfigString:(NSString *)configString key:(NSString *)key iv:(NSString *)iv error:(NSError **)error;
/// 移除多账号中的账号信息(即:UserId、ReadToken、SecretKey)
/// @param userId 多账号的userid
+ (void)removeAccountWithUserId:(NSString *)userId;
/// 在多账号中查找vid归属账号的userid
/// @param vid 视频id
/// @return userid,为nil则表示该账号暂未添加
+ (NSString *)findUserIdWithVid:(NSString *)vid;
/// 在多账号中查找vid归属账号的readtoken
/// @param vid 视频id
/// @return readtoken,为nil则表示该账号暂未添加
+ (NSString *)findReadTokenWithVid:(NSString *)vid;
/// 在多账号中查找vid归属账号的secretkey
/// @param vid 视频id
/// @return secretkey,为nil则表示该账号暂未添加
+ (NSString *)findSecretKeyWithVid:(NSString *)vid;
@end
Swift
class PLVVodMediaSettings : NSObject
Undocumented
-
userid
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *userid;
Swift
var userid: String! { get }
-
readtoken
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *readtoken;
Swift
var readtoken: String! { get }
-
writetoken
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *writetoken;
Swift
var writetoken: String! { get }
-
secretkey
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *secretkey;
Swift
var secretkey: String! { get }
-
子账号appid
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *appid;
Swift
var appid: String! { get }
-
请求自定义keyToken。 下载加密视频时,若设置此block将优先使用block获取的值来解密视频;没有设置此block则sdk自动处理解密;
Declaration
Objective-C
@property (nonatomic, copy) NSString * (^) (NSString *)requestCustomKeyTokenBlock;
Swift
var requestCustomKeyTokenBlock: ((String?) -> String?)! { get set }
-
终端用户id
Declaration
Objective-C
@property (nonatomic, copy) NSString *viewerId;
Swift
var viewerId: String! { get set }
-
终端用户昵称
Declaration
Objective-C
@property (nonatomic, copy) NSString *viewerName;
Swift
var viewerName: String! { get set }
-
终端用户头像
Declaration
Objective-C
@property (nonatomic, copy) NSString *viewerAvatar;
Swift
var viewerAvatar: String! { get set }
-
viewlog 参数设置
Declaration
Objective-C
@property (nonatomic, strong) PLVVodMediaViewerInfo *viewerInfos;
Swift
var viewerInfos: PLVVodMediaViewerInfo! { get set }
-
终端用户播放令牌额外参数
Declaration
Objective-C
@property (nonatomic, copy) NSString *viewerTokenExtraParam;
Swift
var viewerTokenExtraParam: String! { get set }
-
是否启用多账户,默认 NO。开启后可播放、下载除了配置的账号以外的其他账号的非加密视频。
Declaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite, getter=isMutilAccount) BOOL mutilAccount;
Swift
var isMutilAccount: Bool { get set }
-
日志输出等级,默认 PLVVodMediaLogLevelWithoutDebug
Declaration
Objective-C
@property (nonatomic) int logLevel;
Swift
var logLevel: PLVVodMediaLogLevel { get set }
-
是否启动 HTTPDNS,默认 YES. 优先级低于远端的httpDnsMode属性
Declaration
Objective-C
@property (nonatomic) BOOL enableHttpDNS;
Swift
var enableHttpDNS: Bool { get set }
-
是否启用 IPV6,如果启用,将自动选择IP,取消HTTPDNS
Declaration
Objective-C
@property (nonatomic) BOOL enableIPV6;
Swift
var enableIPV6: Bool { get set }
-
Deprecated
HttpDNS将在获取视频信息的时候启动,此属性已废弃
延迟启动 HttpDNS,enableHttpDNS 为 YES 时生效,默认 NO
Declaration
Objective-C
@property (class, nonatomic) BOOL delayHttpDNS;
Swift
class var delayHttpDNS: Bool { get set }
-
Deprecated
HttpDNS将在获取视频信息的时候启动,此属性已废弃
延迟启动 HttpDNS 的时间,delayHttpDNS 为 YES 时生效,默认 2(单位:秒)
Declaration
Objective-C
@property (class, nonatomic) NSInteger delayHttpDNSTime;
Swift
class var delayHttpDNSTime: Int { get set }
-
错误回调
Declaration
Objective-C
@property (nonatomic, copy) void (^)(NSError *) settingErrorHandler;
Swift
var settingErrorHandler: ((Error?) -> Void)! { get set }
-
获取 PLVVodMediaSettings 静态对象
Declaration
Objective-C
+ (instancetype)sharedSettings;
Swift
class func shared() -> Self!
Return Value
PLVVodMediaSettings 静态对象
-
通过 userid、readtoken、writetoken、secretkey 配置账号
Declaration
Objective-C
+ (instancetype)settingsWithUserid:(NSString *)userid readtoken:(NSString *)readtoken writetoken:(NSString *)writetoken secretkey:(NSString *)secretkey;
Swift
convenience init!(userid: String!, readtoken: String!, writetoken: String!, secretkey: String!)
Parameters
userid
userid
readtoken
readtoken
writetoken
writetoken
secretkey
secretkey
Return Value
新的 PLVVodMediaSettings 静态对象
-
使用加密串配置账号
Declaration
Objective-C
+ (instancetype)settingsWithConfigString:(NSString *)configString error:(NSError **)error;
Swift
convenience init(configString: String!) throws
Parameters
configString
加密串
error
解密、配置过程的错误
Return Value
新的 PLVVodMediaSettings 静态对象
-
使用加密串、加密秘钥、加密向量配置账号
Declaration
Objective-C
+ (instancetype)settingsWithConfigString:(NSString *)configString key:(NSString *)key iv:(NSString *)iv error:(NSError **)error;
Swift
convenience init(configString: String!, key: String!, iv: String!) throws
Parameters
configString
加密串
key
加密秘钥
iv
加密向量
error
解密、配置过程的错误
Return Value
新的 PLVVodMediaSettings 静态对象
-
通过appid,secretkey,总帐号userid 配置子帐号
Declaration
Objective-C
+ (instancetype)settingsWithAppId:(NSString *)appId secretKey:(NSString *)secretKey userId:(NSString *)userId;
Swift
convenience init!(appId: String!, secretKey: String!, userId: String!)
Parameters
appId
子帐号appid
secretKey
子帐号加密key
userId
总帐号userid
-
通过 userid、readtoken、writetoken、secretkey 添加多账号,请先使用主账号初始化SDK后再调用
Declaration
Objective-C
+ (instancetype)addAccountWithUserid:(NSString *)userid readtoken:(NSString *)readtoken writetoken:(NSString *)writetoken secretkey:(NSString *)secretkey error:(NSError **)error;
Swift
class func addAccount(withUserid userid: String!, readtoken: String!, writetoken: String!, secretkey: String!) throws -> Self
Parameters
userid
userid
readtoken
readtoken
writetoken
writetoken
secretkey
secretkey
error
解密、配置过程的错误
-
使用加密串添加账号,请先使用主账号初始化SDK后再调用
Declaration
Objective-C
+ (instancetype)addAccountWithConfigString:(NSString *)configString error:(NSError **)error;
Swift
class func addAccount(withConfigString configString: String!) throws -> Self
Parameters
configString
加密串
error
解密、配置过程的错误
-
使用加密串、加密秘钥、加密向量添加账号,请先使用主账号初始化SDK后再调用
Declaration
Objective-C
+ (instancetype)addAccountWithConfigString:(NSString *)configString key:(NSString *)key iv:(NSString *)iv error:(NSError **)error;
Swift
class func addAccount(withConfigString configString: String!, key: String!, iv: String!) throws -> Self
Parameters
configString
加密串
key
加密秘钥
iv
加密向量
error
解密、配置过程的错误
-
移除多账号中的账号信息(即:UserId、ReadToken、SecretKey)
Declaration
Objective-C
+ (void)removeAccountWithUserId:(NSString *)userId;
Swift
class func removeAccount(withUserId userId: String!)
Parameters
userId
多账号的userid
-
在多账号中查找vid归属账号的userid
Declaration
Objective-C
+ (NSString *)findUserIdWithVid:(NSString *)vid;
Swift
class func findUserId(withVid vid: String!) -> String!
Parameters
vid
视频id
Return Value
userid,为nil则表示该账号暂未添加
-
在多账号中查找vid归属账号的readtoken
Declaration
Objective-C
+ (NSString *)findReadTokenWithVid:(NSString *)vid;
Swift
class func findReadToken(withVid vid: String!) -> String!
Parameters
vid
视频id
Return Value
readtoken,为nil则表示该账号暂未添加
-
在多账号中查找vid归属账号的secretkey
Declaration
Objective-C
+ (NSString *)findSecretKeyWithVid:(NSString *)vid;
Swift
class func findSecretKey(withVid vid: String!) -> String!
Parameters
vid
视频id
Return Value
secretkey,为nil则表示该账号暂未添加