Skip to content

B站弹幕默认开启,APP端无法关闭 #22

Description

@prczsf

【我在做什么操作】使用Android手机端投屏到电脑(win11专业版)

【我发现了什么】弹幕默认打开,APP端无法自由关闭电脑端的Macast上的弹幕。 导致部分视频不想看弹幕但是无法在Android手机端进行关闭。

【我期望实现的】支持手机APP端关闭弹幕和开启弹幕。

【代码尝试】
修改代码:
/Macast-plugins/tree/main/nirvana//nirvana.py

修改内容:

  1. 调整弹幕为默认关闭(在 update_play_state 函数中):
    def update_play_state(self):
    danmuku_open = False # 这里强制默认关闭
    self.renderer.set_media_sub_show(danmuku_open)
    cherrypy.engine.publish('nva-broadcast', 'OnDanmakuSwitch', {'open': danmuku_open})
    # ... 后面保持不变

  2. 确保APP弹幕开关有效(在 cmd_from_client 函数中,约 865 行):
    elif method == 'SwitchDanmaku':
    self.send_res(counter)
    # 获取开关参数
    is_open = params.get('open', True)
    # 兼容性判断:只有明确为字符串 'false' 或 布尔值 False 时才关闭
    if is_open == 'false' or is_open is False:
    show = False
    else:
    show = True

         self.renderer.set_media_sub_show(show)
         # 同时同步给协议层,防止状态冲突
         self.protocol.set_state_display_subtitle(show)
    

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions