Diretrizes para desenvolver aplicativos com reconhecimento de áudio

Este tópico descreve as práticas recomendadas para desenvolver aplicativos com reconhecimento de áudio, incluir itens a considerar para projetar elementos de mídia, usar o gerenciador de reprodução e gerenciar o controle de chamada.

Windows app: os controles padrão de transporte de um elemento de mídia

Aplicativos da Loja do Windows Phone: há vários requisitos relacionados à mídia com os quais você deve se familiarizar ao desenvolver qualquer aplicativo de mídia. Para obter mais informações, consulte as seções 6.4 e 6.5 de Requisitos adicionais para tipos específicos de aplicativos para Windows Phone.

Exemplo

Aplicativo Windows: controles personalizados para transporte

Aplicativo Windows: controles personalizados para transporte

Recomendações

Elementos de mídia

  • Utilize elementos de mídia para exibir áudio e vídeo ao usuário, seja em tela cheia ou junto com outros elementos visuais. Você pode exibir múltiplos elementos de mídia juntos na tela, e controlar programaticamente qual deve ser habilitado se você não deseja que sejam reproduzidos simultaneamente.
  • Posicione elementos de mídia—e seus controles de transporte—em um local consistente, para ajudar os usuários a interagir com eles com confiança e integração. O elemento de mídia apresenta quadros de vídeo. Por padrão, os controles de transporte não são exibidos, mas podem ser ligados e desligados com uma simples propriedade booleana. Controles de transporte—incluindo um botão em tela cheia—aparecem quanto o elemento de mídia é inicialmente exibido e também quando é tocado, então eles desaparecem.
  • Se você criar seus próprios controles de transporte personalizados, exiba-os quando o elemento de mídia é inicialmente exibido. Eles então podem desaparecer para proporcionar uma visualização clara da mídia, mas devem retornar quando o usuário tocar em qualquer elemento de mídia. Reproduzir/Pausar deve ser um botão de alternância com indicações visuais que refletem a ação que acontece ao ser tocado. O botão não deve exibir o estado de em reprodução/pausado da mídia. Tente utilizar os símbolos estabelecidos para reprodução de mídia ao exibir os comandos de pular, parar, reproduzir, pausar e avançar em áudio e vídeo.
  • Projete seus manipuladores de eventos de pressionamento de botão para responder com a menor quantidade de atraso possível. Isso garantirá que o usuário receba imediatamente verificação de sua entrada de botão. Longos atrasos na resposta fazem com que o usuário pressione botões várias vezes, resultando em comportamento inesperado do aplicativo.
  • Certifique-se de que os botões de mídia são utilizados do modo padrão para que o usuário tenha uma experiência familiar com o uso dos botões de mídia.
  • Não utilize cadeias maiores que 127 caracteres para nomes de faixa e artista, isso resultará em uma condição de erro. Se você não tratar desse erro corretamente, isso poderá fazer com que o aplicativo pare de funcionar.

Para obter um tutorial sobre como adicionar botões de mídia e configurá-los em um aplicativo da Windows Store, veja Como utilizar os controles do sistema para transporte de mídia.

Gerenciador de reprodução de mídia

  • Utilize a msAudioCategory/MediaElement.AudioCategory atribuição somente se você precisa que áudio seja reproduzido em plano de fundo. A reprodução de áudio exauri a bateria, portanto, a menos que seja realmente necessário o áudio em tela de fundo (reprodução de mídia projetada para audição por mais tempo, por exemplo), não declare uma categoria de áudio. Como alternativa, você pode usar a categoria "Outro". Caso contrário, seu aplicativo será silenciado e depois suspenso.

  • Use áudio de baixa latência somente quando for necessária para aplicativos específicos (incluindo gravadores de múltiplas trilhas e captura de vídeo de baixa latência). O áudio de baixa latência é chamado automaticamente quando você seleciona a categoria de áudio "Comunicação". Para qualquer outra categoria, considere manter as configurações padrão de baixa latência (que é DESLIGADO). Buffers de baixa latência usam significantemente mais recursos de CPU e de bateria e geralmente são reservados para aplicativos de primeiro plano em que o usuário está focalizado.

  • Se você deseja colocar a reprodução de mídia em plano de fundo em mudo, escolha ForeGroundOnlyMedia como o msAudioCategory/MediaElement.AudioCategory para essa trilha sonora. Se você desenvolver um jogo que reproduz sua própria trilha sonora de áudio enquanto o usuário está jogando, então a trilha sonora será silenciada caso o usuário já esteja executando uma faixa de áudio em segundo plano quando o jogo começou. Caso acredite que a trilha sonora de áudio do jogo é essencial para o funcionamento do jogo, você pode colocar o áudio em segundo plano sendo reproduzido atualmente em mudo. "SoundEffects" que são misturados com a mídia em tela de fundo ainda serão ouvidos em qualquer caso.

    "ForeGroundOnlyMedia" também pode ser selecionado para aplicativos de vídeo que devem interromper a mídia em tela de fundo quando o vídeo começa e não devem ser executados quando estão em tela de fundo.

Para obter um tutorial sobre como categorizar um fluxo de AV e usar o gerenciador de reprodução em um aplicativo da Windows Store, veja Como categorizar um fluxo de AV para streaming de áudio.

Controle de chamada

A tabela a seguir apresenta as práticas recomendadas para gerenciar o controle de chamada no dispositivo de comunicação Bluetooth padrão.

  • Torne a funcionalidade de controle de chamada previsível para aplicativos de comunicação. Isso garante que o usuário tenha uma experiência familiar e perfeita. Se seu aplicativo usar botões de chamada de forma não familiar, deixe isso muito óbvio para o usuário.
  • Rastreie os tokens de chamada com cuidado. Certifique-se de encerrar a chamada corretamente para o dispositivo e também de encerrar o fluxo de áudio/vídeo. Isso garante que, quando a chamada for encerrada, você enviará uma notificação de "encerrar chamada" de volta o dispositivo, com o token de chamada apropriado. Dessa forma, o usuário recebe uma indicação do dispositivo de que a chamada foi encerrada.

Para obter um tutorial sobre como gerenciar as chamadas Bluetooth em um aplicativo da Windows Store, veja Como gerenciar chamadas no dispositivo de comunicações Bluetooth padrão.

Tópicos relacionados

Para desenvolvedores

Exemplo de controle de chamada Bluetooth

Exemplo de SystemMediaTransportControls

Configurar teclas para o exemplo de mídia

Exemplo de gerenciador de reprodução

Mídia para Windows Phone

SystemMediaTransportControls

SystemMediaTransportControlsDisplayUpdater