Voice Input Device

To be able to send voice commands, the client first sends a RegisterVoiceInputDeviceMessage.

syntax = "proto2";

import "ProtocolMessage.proto";
import "VoiceInputDeviceDescriptor.proto";

extend ProtocolMessage {
  optional RegisterVoiceInputDeviceMessage registerVoiceInputDeviceMessage = 33;
}

message RegisterVoiceInputDeviceMessage {
  optional VoiceInputDeviceDescriptor deviceDescriptor = 1;
}
syntax = "proto2";

import "AudioFormatSettings.proto";

message VoiceInputDeviceDescriptor {
  optional AudioFormatSettings defaultFormat = 1;
  repeated AudioFormatSettings supportedFormats = 2;
}
syntax = "proto2";

message AudioFormatSettings {
  optional bytes formatSettingsPlistData = 1;
}

CLIENT -> SERVER

type: REGISTER_VOICE_INPUT_DEVICE_MESSAGE
identifier: "1946D664-A029-45E3-B954-84FA07BDEC71"
priority: 0
33 {
  1 {
    1 {
      1: "bplist00\323\001\002\003\004\005\006_\020\017AVSampleRateKey]AVFormatIDKey_\020\025AVNumberOfChannelsKey#@\317@\000\000\000\000\000\022opus\020\001\010\017!/GPU\000\000\000\000\000\000\001\001\000\000\000\000\000\000\000\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000W"
    }
    2 {
      1: "bplist00\323\001\002\003\004\005\006_\020\017AVSampleRateKey]AVFormatIDKey_\020\025AVNumberOfChannelsKey#@\317@\000\000\000\000\000\022opus\020\001\010\017!/GPU\000\000\000\000\000\000\001\001\000\000\000\000\000\000\000\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000W"
    }
  }
}

The Apple TV answers with a RegisterVoiceInputDeviceResponseMessage

syntax = "proto2";

import "ProtocolMessage.proto";

extend ProtocolMessage {
  optional RegisterVoiceInputDeviceResponseMessage registerVoiceInputDeviceResponseMessage = 34;
}

message RegisterVoiceInputDeviceResponseMessage {
  optional int32 deviceID = 1;
  optional int32 errorCode = 2;
}

SERVER -> CLIENT

type: REGISTER_VOICE_INPUT_DEVICE_RESPONSE_MESSAGE
identifier: "1946D664-A029-45E3-B954-84FA07BDEC71"
priority: 0
[registerVoiceInputDeviceResponseMessage] {
  deviceID: 5
  errorCode: 0
}

results matching ""

    No results matching ""