package com.zd.alg.speaker.service;

import com.zd.alg.speaker.domain.vo.PlayVo;
import java.util.List;

/**
 * 电话报警推送日志Service
 *
 * @author donggaosheng
 * @date 2022-02-09
 */
public interface ISpeakerService {
    /**
     * 获取token
     *
     * @return
     */
    String getToken();

    /**
     * 设置token
     *
     * @return
     */
    void setToken();

    /**
     * ip喇叭登录获取token
     *
     * @return
     */
    String login();

    /**
     * 获取设备列表
     *
     * @param page
     * @param pageSize
     * @return
     */
    String getDeviceList(Integer page, Integer pageSize);

    /**
     * 获取设备信息
     *
     * @param deviceId
     * @return
     */
    String getDevice(String deviceId);

    /**
     * 音乐播放
     *
     * @param ip
     * @return
     */
    String playMusic(String ip, String body);

    /**
     * 文字转化音频
     *
     * @return
     */
    String textParseVoice(String ip, List<String> texts, PlayVo playVo);

    /**
     * 文字转音频路径
     *
     * @param speed  语速
     * @param volume 音量
     * @param text   文本内容
     * @return
     */
    String textParseVoiceURL(Integer speed, Integer volume, String text);

    /**
     * 文字转音频路径
     * @param texts
     * @param playVo
     * @return
     */
    void textParseVoiceIps(String texts, List<PlayVo> playVo);


    /**
     * 文字转音频路径
     * @param texts
     * @param playVo
     * @return
     */
    void textParseVoiceAppIps(String texts, List<PlayVo> playVo);

    /**
     * 文字转硬盘播放
     * @param text
     * @param playVo
     */
    void textParseUrlAppIpsOrigin(String text, List<PlayVo> playVo);


    /**
     * 停止播放音乐
     * @param sn 设备sn
     * @param ip 设备ip
     */
    boolean stopPlayMusic(String sn,String ip);
}
