grpc_client/protos/cmvr/api/speaker_command.proto
2025-11-13 03:01:00 +08:00

100 lines
2.2 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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