100 lines
2.2 KiB
Protocol Buffer
100 lines
2.2 KiB
Protocol Buffer
|
|
syntax = "proto3";
|
|||
|
|
|
|||
|
|
import "cmvr/api/common.proto";
|
|||
|
|
|
|||
|
|
package cmvr.api;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 音频数据格式(与麦克风类似,但用于输出)
|
|||
|
|
message AudioData {
|
|||
|
|
enum AudioFormat {
|
|||
|
|
PCM = 0;
|
|||
|
|
MP3 = 1;
|
|||
|
|
AAC = 2;
|
|||
|
|
WAV = 3;
|
|||
|
|
}
|
|||
|
|
bytes data = 1; // 音频二进制数据
|
|||
|
|
int32 sample_rate = 2; // 采样率(Hz)
|
|||
|
|
int32 channels = 3; // 声道数
|
|||
|
|
AudioFormat format = 4; // 音频格式
|
|||
|
|
string codec = 5; // 编码方式
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 扬声器状态
|
|||
|
|
message SpeakerState {
|
|||
|
|
bool is_initialized = 1; // 是否已初始化
|
|||
|
|
bool is_running = 2; // 是否正在播放
|
|||
|
|
bool is_decoding = 3;
|
|||
|
|
bool is_paused = 5;
|
|||
|
|
int32 volume = 6; // 当前音量(0 ~ 100)
|
|||
|
|
string error_message = 7; // 错误信息
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 各种扬声器命令
|
|||
|
|
message GetSpeakerStateCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
SpeakerState state = 2;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message PlayAudioCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
string audio_path = 2;
|
|||
|
|
}
|
|||
|
|
message Feedback { CommandHeader.Feedback header = 1; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message StopSpeakerCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message PauseSpeakerCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message ResumeSpeakerCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message SetSpeakerVolumeCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
int32 volume = 2; // 音量值(0 ~ 100)
|
|||
|
|
}
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message GetSpeakerVolumeCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
int32 volume = 2; // 当前音量值
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|