Megaphone.h
5.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/**
********************************************************************
* @file Megaphone_TTS.h
* Megaphone_TTS的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef MEGAPHONE_H
#define MEGAPHONE_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#include "Megaphone/PlayBack/Megaphone_PlayBack.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/**************
*
* 喊话器结构体
*
* *************/
typedef struct MegaphoneInfo
{
int PlayStatus;
int PlayType; //播放类型
unsigned char str[4000]; //播放字符串载体
unsigned int str_len;
}MegaphoneInfo;
typedef enum MegaphonePlayStatus
{
AUDIO_PLAY_STATUS_IDLE = 0x00, //空闲状态
AUDIO_PLAY_STATUS_MUSIC = 0x01, //播放歌曲
AUDIO_PLAY_STATUS_IFLAY_TTS = 0x02, //播放讯飞文本
ADDIO_PLAY_STATUS_ESPEAK_TTS = 0x03, //espeak文本
AUDIO_PLAY_STATUS_OPUS_REAL_TIME = 0x04, //opus实时语音
AUDIO_PLAY_STATUS_OPUS_RECORD = 0x05, //opus录音
AUDIO_PLAY_STATUS_MP3_REAL_TIME = 0x06, //mp3实时语音
AUDIO_PLAY_STATUS_MP3_RECORD = 0x07, //mp3录音喊话
AUDIO_PLAY_STATUS_PCM_LIST =0x08, //pcm列表播放
}MegaphonePlayStatus;
typedef enum MegaphoneTTSParam
{
MEGAPHONE_TTS_NORMAL_VOLUME = 0x00, //tts生成音量
MEGAPHONE_TTS_TONE = 0x01,
MEGAPHONE_TTS_SPEED = 0x02,
MEGAPHONE_TTS_APPEND_TONE = 0x03,
}MegaphoneTTSParam;
// typedef enum MegaphoneAudioParam
// {
// MEGAPHONE_AUDIO_PLAYNAME = 0x00, //获取当前播放文件对的名字
// MEGAPHONE_AUDIO_FILENUM = 0x01, //获取播放文件的数量
// MEGAPHONE_AUDIO_FILENAME = 0x02, //获取播放文件的名字
// }MegaphoneAudioParam;
typedef enum MegaphoneParam
{
MEGAPHONE_VOLUME = 0x00, //喊话器音量
MEGAPHONE_PLAY_STATUS = 0x01, //喊话器播放状态
MEGAPHONE_LOOP = 0x02, //喊话器循环播放状态
MEGAPHONE_LOOP_INTERVAL = 0x03, //喊话器循环播放间隔
}MegaphoneParam;
/* Exported types ------------------------------------------------------------*/
extern struct MegaphoneInfo *g_MegaphoneInfo;
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode Megaphone_Init();
T_JZsdkReturnCode Megaphone_TTS_Play(unsigned char *str, unsigned int str_len, int ReplyFlag);
T_JZsdkReturnCode Megaphone_TTS_param(int flagcode, enum MegaphoneTTSParam paramflag, int *value);
T_JZsdkReturnCode Megaphone_Amplifier_param(int flagcode, int *value);
T_JZsdkReturnCode Megaphone_Flush_MusicList();
T_JZsdkReturnCode Megaphone_get_music_list_sum(int *num);
T_JZsdkReturnCode Megaphone_get_music_list_name(int num,unsigned char *music_name, int *music_name_length);
T_JZsdkReturnCode Megaphone_param(int flagcode, enum MegaphoneParam paramflag, int *value);
T_JZsdkReturnCode Megaphone_get_play_FileName(unsigned char *music_name, int *music_name_length);
T_JZsdkReturnCode Megaphone_PlayAudioFile(unsigned char *name, unsigned int name_Len);
T_JZsdkReturnCode Megaphone_PlayLastSong();
T_JZsdkReturnCode Megaphone_PlayNextSong();
T_JZsdkReturnCode Megaphone_PlayContinue();
T_JZsdkReturnCode Megaphone_PlayPause();
int Megaphone_GetMegaphoneStatus();
int Megaphone_get_now_volume();
T_JZsdkReturnCode Megaphone_SetVolume(int value, int mode);//设置音量,音量0-100,默认音量value==10。
T_JZsdkReturnCode Megaphone_StopPlay(int UnChangeFlag);
T_JZsdkReturnCode Megaphone_status_Broadcast(int status);
T_JZsdkReturnCode Megaphone_MegDataGenFlag(int order, int Flag);
T_JZsdkReturnCode Megaphone_MegDataGenFinshFlag(int order, int Flag);
T_JZsdkReturnCode Megaphone_GetMusicListMessage(unsigned char *message);
/*********
*
* audiofile.h的对外部分
*
* ********/
T_JZsdkReturnCode Megaphone_SaveOpusStart(unsigned char *FileName, int decode_rate, int SampleRate, int Channels);
T_JZsdkReturnCode Megaphone_SaveOpusTrans(char *SaveData, int size);
T_JZsdkReturnCode Megaphone_SaveOpusStop(int checkFlag, unsigned char *CheckCode);
T_JZsdkReturnCode Megaphone_RealTimeVoice_Start(int decode_rate);
T_JZsdkReturnCode Megaphone_RealTimeVoice_Trans(char *data, int length);
T_JZsdkReturnCode Megaphone_RealTimeVoice_Close();
T_JZsdkReturnCode Megaphone_RealTimeVoice_GetStatusFlag();
T_JZsdkReturnCode Megaphone_RealTimeMP2_start();
T_JZsdkReturnCode Megaphone_RealTimeMP2_trans(unsigned char *getdata, int len);
T_JZsdkReturnCode Megaphone_RealTimeMP2_stop();
T_JZsdkReturnCode Megaphone_SaveAudioFileStart(char *FileName);
T_JZsdkReturnCode Megaphone_SaveAudioFileTrans(char *SaveData, int size);
T_JZsdkReturnCode Megaphone_Broadcast_OpusDecodeStatus(int status);
T_JZsdkReturnCode Megaphone_SaveAudioFileStop(int checkFlag, unsigned char *CheckCode);
T_JZsdkReturnCode Megaphone_Opus_PlayFixedFile();
T_JZsdkReturnCode Megaphone_PlayPcmListFile(unsigned char *Filename,int len);
/********
*
* 开始的广播语言
*
* *********/
T_JZsdkReturnCode Start_up_and_broadcast_voice();
T_JZsdkReturnCode Start_voice();
//仅模块内使用
T_JZsdkReturnCode Meg_SetVolumeFun(int volume);
int Megaphone_get_RealSetVolume();
int Megaphone_get_RealTargetVolume();
T_JZsdkReturnCode Megaphone_PrintVolume(int Value, int flag);
#ifdef __cplusplus
}
#endif
#endif