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; // 当前音量值
|
||
}
|
||
}
|
||
|