当前位置: 首页 > news >正文

使用正则 删除代码 注释

需求:

将类似注释都删掉、

   /**
     * @locale zh
     * @type callback
     * @region 字幕翻译服务
     * @brief  字幕状态发生改变回调。 <br>
     *         当用户调用 startSubtitle{@link #IRTCRoom#startSubtitle} 和 stopSubtitle{@link #IRTCRoom#stopSubtitle} 使字幕状态发生改变或出现错误时,触发该回调。  
     * @param state 字幕状态。参看 SubtitleState{@link #SubtitleState}。
     * @param error_code 字幕任务错误码。参看 SubtitleErrorCode{@link #SubtitleErrorCode}。
     * @param error_message 与第三方服务有关的错误信息。
     */
    /**
     * @locale en
     * @hidden currently not available 
     * @type callback
     * @region Subtitle translation service
     * @brief  Callback on subtitle states. <br>
     *         After you call startSubtitle{@link #IRTCRoom#startSubtitle} and stopSubtitle{@link #IRTCRoom#stopSubtitle}, you will receive this callback which informs you of the states and error codes of the subtitling task, as well as detailed information on the third party services' errors. 
     * @param state The states of subtitles. Refer to SubtitleState{@link #SubtitleState} for details. 
     * @param error_code  Error codes of the subtitling task. Refer to SubtitleErrorCode{@link #SubtitleErrorCode}.
     * @param error_message Detailed information on the third party services' errors. 
     */
    virtual void onSubtitleStateChanged(SubtitleState state, SubtitleErrorCode error_code, const char* error_message) {
    }

    /**
     * @locale zh
     * @type callback
     * @region 字幕翻译服务
     * @brief  字幕相关内容回调。 <br>
     *         当用户调用 startSubtitle{@link #IRTCRoom#startSubtitle} 后会收到此回调,通知字幕的相关信息。
     * @param subtitles 字幕消息内容。参看 SubtitleMessage{@link #SubtitleMessage}。
     * @param cnt 字幕消息个数。
     */
    /**
     * @locale en
     * @hidden currently not available 
     * @type callback
     * @region Subtitle translation service
     * @brief  Callback on subtitle messages.  <br>
     *         After calling startSubtitle{@link #IRTCRoom#startSubtitle}, you will receive this callback which informs you of the related information on subtitles. 
     * @param subtitles Subtitle messages. Refer to SubtitleMessage{@link #SubtitleMessage} for details. 
     * @param cnt The number of subtitle messages.
     */
    virtual void onSubtitleMessageReceived(const SubtitleMessage* subtitles, int cnt) {
    }

使用的正则:

/\*\*[\s\S]*?\*/

删除后, 

需要将空行也删掉

/*
 * Copyright (c) 2020 The VolcEngineRTC project authors. All Rights Reserved.
 * @brief VolcEngineRTC Room Event Handler Interface
*/

#pragma once

#include "rtc/bytertc_defines.h"

namespace bytertc {


class IRTCRoomEventHandler {
public:
virtual ~IRTCRoomEventHandler() {
    }

    virtual void onRoomStateChanged(
            const char* room_id, const char* uid, int state, const char* extra_info) {
        (void)room_id;
        (void)state;
        (void)extra_info;
    }
    virtual void onStreamStateChanged(
            const char* room_id, const char* uid, int state, const char* extra_info) {
        (void)room_id;
        (void)uid;
        (void)state;
        (void)extra_info;
    }
 
    virtual void onLeaveRoom(const RtcRoomStats& stats) {
        (void)stats;
    }

    BYTERTC_DEPRECATED virtual void onRoomWarning(int warn) {
        (void)warn;
    }

    virtual void onRoomError(int err) {
        (void)err;
    } 
    virtual void onTokenWillExpire() {

    }
    virtual void onPublishPrivilegeTokenWillExpire() {

    }
    virtual void onSubscribePrivilegeTokenWillExpire() {

    }

    virtual void onRoomStats(const RtcRoomStats& stats) {
        (void)stats;
    }
    virtual void onLocalStreamStats(const LocalStreamStats& stats) {
        (void)stats;
    }
    virtual void onRemoteStreamStats(const RemoteStreamStats& stats) {
        (void)stats;
    }
 
    virtual void onUserJoined(const UserInfo& user_info, int elapsed) {
        (void)user_info;
        (void)elapsed;
    }

    virtual void onUserLeave(const char* uid, UserOfflineReason reason) {
        (void)uid;
        (void)reason;
    }
    BYTERTC_DEPRECATED virtual void onStreamRemove(const MediaStreamInfo& stream, StreamRemoveReason reason) {
        (void)stream;
    }

    BYTERTC_DEPRECATED virtual void onStreamAdd(const MediaStreamInfo& stream) {
        (void)stream;
    }
    virtual void onUserPublishStream(const char* uid, MediaStreamType type) {
        (void)uid;
        (void)type;
    }
    virtual void onUserUnpublishStream(const char* uid, MediaStreamType type,StreamRemoveReason reason) {
        (void)uid;
        (void)type;
        (void)reason;
    }
    virtual void onUserPublishScreen(const char* uid, MediaStreamType type) {
        (void)uid;
        (void)type;
    }
    virtual void onUserUnpublishScreen(const char* uid, MediaStreamType type,StreamRemoveReason reason) {
        (void)uid;
        (void)type;
        (void)reason;
    }

    virtual void onStreamSubscribed(SubscribeState state_code, const char* user_id, const SubscribeConfig& info) {
        (void)state_code;
        (void)user_id;
        (void)info;
    }

    virtual void onStreamPublishSuccess(const char* user_id, bool is_screen) {
        (void)is_screen;
    }

    virtual void onRoomMessageReceived(const char* uid, const char* message) {
        (void)uid;
        (void)message;
    }

    virtual void onRoomBinaryMessageReceived(const char* uid, int size, const uint8_t* message) {
        (void)uid;
        (void)size;
        (void)message;
    }
    virtual void onUserMessageReceived(const char* uid, const char* message) {
        (void)uid;
        (void)message;
    }

    virtual void onUserBinaryMessageReceived(const char* uid, int size, const uint8_t* message) {
        (void)uid;
        (void)size;
        (void)message;
    }

    virtual void onUserMessageSendResult(int64_t msgid, int error) {
        (void)msgid;
        (void)error;
    }

    virtual void onRoomMessageSendResult(int64_t msgid, int error) {
        (void)msgid;
        (void)error;
    }
virtual void onRoomModeChanged(RtcRoomMode mode) {
        (void)mode;
    }
virtual void onMaximumScreenShareFpsUpdated(int fps) {
        (void)fps;
    }

    virtual void onMaximumScreenSharePixelsUpdated(int screen_pixels) {
        (void)screen_pixels;
    }

    virtual void onVideoStreamBanned(const char* uid, bool banned) {
        (void)uid;
        (void)banned;
    }

    virtual void onAVSyncStateChange(AVSyncState state) {
        (void)state;
    }

    virtual void onAudioStreamBanned(const char* uid, bool banned) {
        (void)uid;
        (void)banned;
    }

    virtual void onForwardStreamStateChanged(ForwardStreamStateInfo* infos, int info_count) {
    }

    virtual void onForwardStreamEvent(ForwardStreamEventInfo* infos, int info_count) {
    }

    virtual void onNetworkQuality(const NetworkQualityStats& local_quality, const NetworkQualityStats* remote_qualities, int remote_quality_num) {
    }

    virtual void onSetRoomExtraInfoResult(int64_t task_id, SetRoomExtraInfoResult error_code) {
        (void)task_id;
        (void)error_code;
    }

    virtual void onRoomExtraInfoUpdate(const char*key, const char* value, const char* last_update_user_id, int64_t last_update_time_ms) {
        (void)key;
        (void)value;
        (void)last_update_user_id;
        (void)last_update_time_ms;
    }

    virtual void onUserVisibilityChanged(bool current_user_visibility, UserVisibilityChangeError error_code) {
        (void)current_user_visibility;
        (void)error_code;
    }

    virtual void onSubtitleStateChanged(SubtitleState state, SubtitleErrorCode error_code, const char* error_message) {
    }

    virtual void onSubtitleMessageReceived(const SubtitleMessage* subtitles, int cnt) {
    }
};

} // namespace bytertc

再使用豆包等AI,将参数 合并一行后、

合并后

相关文章:

  • YOLO11改进-模块-引入可变形交互注意力模块DIA-Module
  • Python高阶函数-eval深入解析
  • 企业级开发SpringBoost玩转Elasticsearch
  • HashMap 如何解决哈希冲突?ConcurrentHashMap 如何保证线程安全?进程和线程有什么区别?多线程有什么优缺点?...
  • 网页常用字符大全
  • 嵌入式行业常见平台交互协议全解析
  • 2025-04-07(DS复习):Databricks DLT 详解
  • 阶段测试 【过程wp】
  • 【PalladiumZ2 使用专栏 1 -- 波形 trigger 抓取详细介绍】
  • I have something to say about Vue Node.js
  • 二十七- Scala
  • 【仪器仪表专题】案例:信号高电平到底是看顶端值还是最大值?
  • Python 中用于判断一个集合是否为另一个集合的超集issuperset
  • 当前主流的LLM Agent架构、能力、生态和挑战
  • 小球反弹(蓝桥杯C语言)
  • 10 家医院上云用云实践分享|含物联网、AI、HIS、信创等场景
  • 7款热门智能电视文件管理器横向评测
  • 一个简单的跨平台Python GUI自动化 AutoPy
  • 职坐标解析自动驾驶技术发展新趋势
  • C++day8
  • 网站建设中素材/推广软文发布平台
  • 网站更换空间教程/网络优化大师
  • vps 网站能打开/西安seo报价
  • 北京市住房建设投资中心网站/网络黄页平台网址有哪些
  • 网站推广软件工具/icp备案查询
  • 定制网站开发价格/如何发布视频赚钱