Skip to content
changsanjiang edited this page Jul 11, 2022 · 5 revisions

快速开始

  1. 导入头文件
#import <SJBaseVideoPlayer/SJDanmakuItem.h>
  1. 创建一条文本弹幕
    SJDanmakuItem *item = [SJDanmakuItem.alloc initWithContent:[NSAttributedString sj_UIKitText:^(id<SJUIKitTextMakerProtocol>  _Nonnull make) {
        make.append(@"我是一条弹幕! 我是一条弹幕!");
        make.font([UIFont boldSystemFontOfSize:16]);
        make.textColor(UIColor.whiteColor);
        make.stroke(^(id<SJUTStroke>  _Nonnull make) {
            make.color = UIColor.blackColor;
            make.width = -1;
        });
    }]];
  1. 加入队列中(该条弹幕将会在合适的时机自动显示)
    [self.player.barrageQueueController enqueue:item];

暂停, 恢复, 移除, 禁用

如需暂停移动, 可如下操作:

    // 可通过`isPaused`来判断当前状态
    [self.player.danmakuPopupController pause];

如需恢复移动, 可如下操作:

    // 可通过`isPaused`来判断当前状态
    [self.player.danmakuPopupController resume];

如需移除未显示的弹幕, 可如下操作:

    [self.player.danmakuPopupController emptyQueue];

如需移除已显示的弹幕, 可如下操作:

    [self.player.danmakuPopupController removeDisplayedItems];

如需移除所有弹幕(队列中的及已显示的弹幕), 可如下操作:

    [self.player.danmakuPopupController removeAll];

如需禁用, 可操作如下:

    // 可通过`isDisabled`来判断当前的状态
    self.player.danmakuPopupController.disabled = YES;

注意禁用弹幕后, 将无法添加弹幕, 请在需要使用时恢复其状态.


配置补充

弹幕轨道默认存在4个. 当需要更多的轨道时, 可重新初始化danmakuPopupController, 操作如下:

    // 修改轨道数量为5个. 
    _player.danmakuPopupController = [SJDanmakuPopupController.alloc initWithNumberOfTracks:5];

可为每条轨道配置弹幕移动速率, 弹幕之间的间距, 行高等等... 操作如下:

    SJDanmakuPopupController *controller = _player.danmakuPopupController;
    SJDanmakuTrackConfiguration *trackConfiguration = controller.trackConfiguration;
    // 修改弹幕移动速度
    trackConfiguration.rate = 1.0;
    // 修改轨道行间距
    trackConfiguration.topMargin = 3.0;
    // 修改弹幕之间的间距
    trackConfiguration.itemMargin = 38;
    // 修改轨道高度
    trackConfiguration.height = 26;

    // 使配置生效
    [controller reloadTrackConfiguration];

    // 也可以通过 delegate 的方式进行修改;
    // controller.trackConfiguration.delegate = self;
Clone this wiki locally