外挂字幕

更新时间: 2021/11/04 06:15:44

支持SRT格式的本地外挂字幕载入,包括字幕开启,关闭,切换和换源等操作。

API介绍

  • 设置本地外挂字幕
  • 设置外挂字幕状态回调
  • 同时切换视频源和字幕

API原型

objc/**
 * @brief 设置本地外挂字幕文件(仅支持点播,格式SRT)
 *
 * @discussion 可以通过传递不同的文件路径完成字幕切换,设置为NULL时清空字幕。
 *
 * @param file 文件路径URL.请务必传入 [NSURL fileURLWithPath:path] 生成的对象!
 *
 * @return error 设置成功返回nil 失败返回具体错误类型
 */
- (NSError *)setLocalSubtitleFile:(NSURL *)file;

/**
 * @brief 设置字幕文件显示状态回调(仅支持点播)
 *
 * @discussion 字幕回调的信息不处理字幕中的格式信息,需要应用层根据业务需求自行处理。
 *
 * @param block 回调
 */
- (void)registSubtitleStatBlock:(NELivePlayerSubtitleBlock)block;

参数介绍

参数 类型 说明
file NSURL 字幕文件路径
block NELivePlayerSubtitleBlock 字幕状态回调
aUrl NSURL 目标地址

示例


    NSString *srtPath1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"srt"];
    
    //设置外挂字幕
    NSURL *url = [NSURL fileURLWithPath:srtPath1];
    [self.player setLocalSubtitleFile:url];
    
    //关闭外挂字幕
//    [self.player setSubtitleFile:NULL];
    
    //切换外挂字幕
//    NSString *srtPath2 = @"test2";
//    NSURL *url2 = [NSURL fileURLWithPath:srtPath2];
//    [self.player setSubtitleFile:url];
//    [self.player setSubtitleFile:url2];
    
    //设置监听
    __weak typeof(self) weakSelf = self;
    [self.player registSubtitleStatBlock:^(BOOL isShown, NSInteger subtitleId, NSString *subtitleText) {
        //在这里处理字幕。
        //isShow: 表示该条字幕是显示还是隐藏  subtitleId:字幕的ID  subtitleText:字幕的内容
    }];

特殊说明

  • 字幕只支持SRT格式,且只支持点播
  • 回调的字幕没有对字幕里html的格式标签做处理,需要应用层根据需要自行处理
  • 回调的字幕可能会有额外的信息字幕,额外的信息字幕包含{},时间段可能会与正常的字幕有交叉,需要应用层自行处理
此文档是否对你有帮助?
有帮助
去反馈
  • API介绍
  • API原型
  • 参数介绍
  • 示例
  • 特殊说明