package com.multictrl.modules.business.service;

import com.multictrl.common.page.PageData;
import com.multictrl.common.service.CrudService;
import com.multictrl.modules.business.dao.SpeakerDao;
import com.multictrl.modules.business.dto.SpeakerDTO;
import com.multictrl.modules.business.dto.speaker.SpeakerSet;
import com.multictrl.modules.business.dto.speaker.TtsText;
import com.multictrl.modules.business.entity.SpeakerEntity;

import java.util.Map;

/**
 * 喊话器控制
 *
 * @author Sdy
 * @since 1.0.0 2026/5/6
 */
public interface SpeakerService extends CrudService<SpeakerEntity, SpeakerDTO> {

    //添加喊话模版
    void addTemplate(SpeakerDTO speaker);

    //删除模板
    void deleteTemplate(Long id);

    // 设置音量
    String drcSetVolume(String dockSn, Integer volume);

    //模式设置
    String drcSetMode(String dockSn, Integer mode);

    //喊话设置
    String drcSetTts(String dockSn, SpeakerSet ttsSpeaker);

    //停止播放
    String drcStopSpeaker(String dockSn);

    //重新播放
    String drcReplaySpeaker(String dockSn);

    //播放TTS文本
    String drcStartSpeakerTts(String dockSn, TtsText ttsText);

    //播放模板文本
    String drcStartSpeakerTemplate(String dockSn, Long id);

    //获取dao
    SpeakerDao getDao();
}
