#鸿蒙通关秘籍#如何使用[@ohos.danmakuflamemaster]与[@ohos.gsyvideoplayer]集成视频弹幕功能?

HarmonyOS
9天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Yvr低语ORM

在开发支持视频弹幕的播放器时,首先需要通过以下步骤进行设置:

  1. 初始化播放器:
    videoInit: (iVideoPlayer: IVideoPlayer, xid: string) => void = (iVideoPlayer: IVideoPlayer, xid: string) => {
      this.mIVideoPlayer = iVideoPlayer;
      this.xComponentId = xid;
      this.mIVideoPlayer.setUp(this.videoModel.getUrl(), this.videoModel.getCacheWithPlay());
    }
    
  2. 初始化弹幕:
    danmuInit() {
      let maxLinesPair: Map<number, number> = new Map();
      maxLinesPair.set(BaseDanmaku.TYPE_SCROLL_RL, 5); 
      let overlappingEnablePair: Map<number, boolean> = new Map();
      this.mContext = DanmakuContext.create();
      this.mContext.setDanmakuStyle(DANMAKU_STYLE_STROKEN, 3)
        .setDuplicateMergingEnabled(false);
      if (this.model != null) {
        this.mParser = this.createParser();
        this.model.setCallback(new Call(that));
        this.model.setOnDanmakuClickListener(new OnDanMu(that));
      }
    }
    
  3. 添加弹幕示例代码:
    private addDanmaku(isLive: Boolean) {
      if (this.mContext) {
        let danmaku: BaseDanmaku = this.mContext.mDanmakuFactory.createDanmaku(BaseDanmaku.TYPE_SCROLL_RL);
        danmaku.text = "这是一条弹幕" + SystemClock.uptimeMillis();
        danmaku.padding = 5;
        danmaku.priority = 0;
        danmaku.isLive = isLive.valueOf();
        danmaku.setTime(this.model.getCurrentTime() + 1200);
        if (this.mParser) {
          danmaku.textSize = 25 * (this.mParser.getDisplayer().getDensity() * 0.8);
        }
        danmaku.textColor = 0xffff0000;
        danmaku.textShadowColor = 0xffffffff;
        danmaku.borderColor = 0xff00ff00;
        this.model.addDanmaku(danmaku);
      }
    }
    

以上步骤完成后,播放器将可以正常显示视频弹幕。

分享
微博
QQ
微信
回复
9天前
相关问题
HarmonyOS @ohos/protobufjs 使用咨询
476浏览 • 1回复 待解决
基于@ohos.pasteboard实现剪贴板功能
508浏览 • 1回复 待解决
HarmonyOS @ohos.data.relationalStore 的使用
173浏览 • 1回复 待解决
@ohos.inputMethod无法使用怎么回事?
2276浏览 • 1回复 待解决
HarmonyOS ohos/dataorm问题
0浏览 • 1回复 待解决
Ohos Library module 如何运行测试 ?
2652浏览 • 1回复 待解决
@ohos/smartrefreshlayout运行报错
339浏览 • 1回复 待解决