Ação do dispositivo

Os solicitantes podem pedir que um provedor realize uma ação. Se a ação for compatível com o provedor, ela deverá ser reconhecida e realizada. Caso contrário, ela deverá ser ignorada.

Nome do grupo de mensagens Valor
Evento de ação no dispositivo 0x04
Nome de código da ação no dispositivo Valor
Tocar 0x01

Tocar um dispositivo

Um caso de uso dessas ações é o Seeker solicitar que o Provider toque, por exemplo, quando um usuário perdeu o dispositivo e precisa localizá-lo. Quando a ação de tocar é recebida, o provedor precisa começar a reproduzir um arquivo de som pré-carregado em um volume alto o suficiente para que o usuário consiga localizá-lo. Recomendamos aumentar o volume gradualmente de baixo para alto. O toque continua até que uma ação adicional seja recebida direcionando uma parada ou um valor de tempo limite tenha passado.

Outros dados serão incluídos na mensagem para indicar se o toque deve ser iniciado ou interrompido, o que pode ser expandido para oferecer suporte a provedores com vários componentes (um fone esquerdo e um direito). No primeiro byte, os bits serão definidos como 1 para solicitar o início de um toque ou 0 para solicitar a interrupção de um toque.

Por exemplo, se o primeiro byte de dados adicionais estiver definido como:

  • 0x00 (0b00000000): todos os componentes devem parar de tocar
  • 0x01 (0b00000001): tocar à direita, parar de tocar à esquerda
  • 0x02 (0b00000010): tocar do lado esquerdo, parar de tocar do lado direito
  • 0x03 (0b00000011): tocar os dois lados

Em provedores que não são compatíveis com toque individual, apenas 1 bit deve ser considerado:

  • 0x00 (0b00000000): parar de tocar
  • 0x01 (0b00000001): iniciar o toque

O segundo byte em dados adicionais, se presente, representa o tempo limite em segundos. Esse valor precisa ser usado pelo provedor para determinar por quanto tempo o toque deve durar antes de ser silenciado. Com base no exemplo de tocar à direita acima e em um tempo limite de 60 segundos, 0x013C seria transmitido como os dados adicionais.

Sincronização do status de toque com os solicitantes

Os provedores podem querer notificar um Seeker quando ele muda o status de toque, por exemplo, se um gesto faz com que o toque pare. O Seeker pode receber a mensagem e atualizar a interface, se necessário.

O provedor precisa seguir o mesmo formato de mensagem definido no exemplo acima. O buscador vai detectar essa mensagem e enviar uma confirmação quando ela for recebida.

Confirmar uma ação

Quando uma ação é recebida, ela precisa ser confirmada para que o Seeker saiba se a ação foi realizada ou não. Se uma confirmação não for recebida em até 1 segundo após o envio de uma ação (ou se uma confirmação negativa for recebida), o Seeker vai presumir que a ação não é compatível no momento.