O Symfonium expõe uma API que permite que outros aplicativos interajam com ele.
A API pode ser acessada por um receptor de Broadcast. Basta enviar intents de broadcast com os valores corretos.
O nome do componente receptor é “app.symfonik.music.player/app.symfonium.remote.api.ApiReceiver”.
Para aplicativos que separam o componente em campos, use estes valores:
- Package : “app.symfonik.music.player”
- Class: “app.symfonium.remote.api.ApiReceiver”
- Type: Broadcast
Preencha o campo Action do Intent com a ação da API que você deseja chamar e adicione os extras documentados abaixo.
Como o receptor é exportado e não exige uma permissão específica, qualquer aplicativo instalado pode invocá-lo. Use a API somente em automações confiáveis e evite expor extras confidenciais, como uma senha de backup.
Alterar renderizador
Seção intitulada “Alterar renderizador”- Action: “app.symfonium.api.SELECT_RENDERER”
- Extras :
- “TYPE” [Int]: o tipo de renderizador
Valores documentados:
- 0 : Dispositivo local
- 1: Renderizador UPnP
- 3 : Renderizador Chromecast
- 6 : Central de mídia remota
- “IDENTIFIER” [String/Optional]: o identificador único do renderizador Você pode consultar esse valor na tela Reproduzir em pressionando o botão (i). Mantenha o renderizador pressionado para copiar o identificador automaticamente para a área de transferência. Esse extra só é opcional ao voltar para o Dispositivo local.
- “TYPE” [Int]: o tipo de renderizador
Valores documentados:
Forçar sincronização
Seção intitulada “Forçar sincronização”- Action: “app.symfonium.api.MEDIA_SYNC”
- Extras :
- “PROVIDER_ID” [Int]: o ID do provedor de mídia (visível no menu de ações do provedor nas configurações)
Controle de reprodução
Seção intitulada “Controle de reprodução”- Action: “app.symfonium.api.MEDIA_COMMAND”
- Extras :
- “COMMAND” [String]: o comando que você deseja enviar
Valores possíveis:
- “play”
- “pause”
- “stop”
- “next”
- “previous”
- “shuffle”
- “repeat”
- “mute”
- “togglemute”
- “seek_relative” (posição relativa em segundos como parâmetro Int)
- “seek” (posição percentual de 0 a 100 como parâmetro Int)
- “volume” (volume como parâmetro Int)
- “set_sleeptimer” (atraso em minutos como parâmetro Int) Requer v6.0+
- “remove_sleeptimer” Requer v6.0+
- “INT_PARAMETER” [Int/Optional]: um valor Int para os comandos que exigem um parâmetro
- “COMMAND” [String]: o comando que você deseja enviar
Valores possíveis:
Iniciar mídia
Seção intitulada “Iniciar mídia”- Action: “app.symfonium.api.MEDIA_START”
- Extras :
- “MEDIA_TYPE” [String]: o tipo de mídia a iniciar
Valores possíveis:
- “playlist”
- “artist”
- “album”
- “genre”
- “song”
- “song_mix”
- “album_mix”
- “internet_radio” Requer v11.2+
- “NAME” [String/Optional]: o nome da mídia (opcional para faixas se você fornecer o nome do arquivo). Requer v1.9+
- “ALBUM” [String/Optional]: o álbum da mídia para desambiguação. Requer v14.1+
- “ARTIST” [String/Optional]: o artista da mídia para desambiguação. Requer v14.1+
- “ID” [Long/Optional]: o ID da rádio ou da playlist (opcional se você passar o nome). Requer v11.2+
- “FILE” [String/Optional]: o caminho completo da mídia, apenas para faixas. Requer v1.9+
- “RESUME” [Boolean/Optional]: define se a reprodução da mídia deve ser retomada quando possível.
- “SHUFFLE” [Boolean/Optional]: define se o conteúdo de grupos de mídia, como playlists ou gêneros, deve ser embaralhado.
- “QUEUE” [Int/Optional]: 1 adiciona a mídia à fila logo após o item em reprodução. 2 adiciona a mídia ao final da fila. Requer v1.8+
- “MEDIA_TYPE” [String]: o tipo de mídia a iniciar
Valores possíveis:
Alterar configuração
Seção intitulada “Alterar configuração”- Action: “app.symfonium.api.CHANGE_SETTINGS”
- Extras :
-
“SETTING” [String]: a configuração a alterar
Valores possíveis:
- “wifi_transcode” : taxa de bits de transcodificação por Wi-Fi
- “mobile_transcode” : taxa de bits de transcodificação em redes móveis
- “available_offline” : alternar Ocultar mídia não disponível offline Requer v3.2+
- “hide_status_bar” : alternar Ocultar barra de status Requer v14.0+
- “ignore_camera_hole” : alternar Ignore a barra de status e o buraco da câmera Requer v14.0+
-
“INT_PARAMETER” [Int]: o valor da configuração
-
Possible value for sleep timer wait end of song, hide status bar and ignore_camera_hole: * 0 : Disabled * 1 : Enabled
Possible value for offline filter: * 0 : Filter disabled * 1 : Filter enabled
Possible value for transcoding: * -1 : No transcoding * 1 : 64 Kbps * 2 : 96 Kbps * 3 : 128 Kbps * 4 : 160 Kbps * 5 : 192 Kbps * 6 : 256 Kbps * 7 : 320 KbpsImportar playlists
Seção intitulada “Importar playlists”Importe as playlists de um provedor de mídia compatível. As playlists existentes são ignoradas automaticamente.
- Action: “app.symfonium.api.PLAYLIST_IMPORT”
- Extras :
- “PROVIDER_ID” [Int]: o ID do provedor de mídia (visível no menu de ações do provedor nas configurações)
- “PLAYLIST_TYPE” [Int]: tipo de playlist importada
- 1: Offline primeiro
- 2: Somente leitura
- 3: Online primeiro
Regenerar miniatura da playlist
Seção intitulada “Regenerar miniatura da playlist”Gera novamente a miniatura da playlist com base nas miniaturas das faixas que ela contém.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “generate_playlist_thumbnail”
- “LONG_PARAMETER” [Long]: o ID da playlist (visível na parte superior do menu de ações da playlist)
Atualizar ordenação aleatória estável da playlist
Seção intitulada “Atualizar ordenação aleatória estável da playlist”Atualiza a ordenação aleatória estável da playlist.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “refresh_playlist_stable_random”
- “LONG_PARAMETER” [Long]: o ID da playlist (visível na parte superior do menu de ações da playlist)
Carregar uma fila de mídia
Seção intitulada “Carregar uma fila de mídia”Carrega uma fila de mídia salva e, opcionalmente, retoma a reprodução.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “load_media_queue”
- “LONG_PARAMETER” [Long]: o ID da fila de mídia. (Você pode consultá-lo pressionando o ícone de informações no menu da fila de mídia.)
- “RESUME” [Boolean]: true para retomar a reprodução após carregar a fila.
Regenerar miniatura do gênero
Seção intitulada “Regenerar miniatura do gênero”Gera novamente a miniatura do gênero com base nas miniaturas das faixas que ele contém.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “generate_genre_thumbnail”
- “NAME” [String]: o nome do gênero (Observação: você pode usar o valor especial “
--ALL--” para gerar novamente as miniaturas de todos os gêneros. Considere o tempo necessário e o consumo de bateria.)
Limpar cache offline
Seção intitulada “Limpar cache offline”Aciona Limpar no gerenciamento do cache offline.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “cleanup_offline_cache”
Iniciar backup
Seção intitulada “Iniciar backup”Inicia um backup com o conteúdo selecionado. É obrigatório enviar uma senha e pelo menos uma opção de conteúdo.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “start_backup”
- “PASSWORD” [String]: a senha do backup. OBRIGATÓRIA
- “SETTINGS” [Boolean]: define se o backup deve incluir as configurações.
- “PROVIDERS” [Boolean]: define se o backup deve incluir os provedores de mídia.
- “EQ_PROFILES” [Boolean]: define se o backup deve incluir os perfis do equalizador.
- “INTERNET_RADIO” [Boolean]: define se o backup deve incluir as rádios da internet.
- “PLAYLISTS” [Boolean]: define se o backup deve incluir as playlists.
- “AUTO_OFFLINE_RULES” [Boolean]: define se o backup deve incluir as regras de cache offline automático.
- “USER_DATA” [Boolean]: define se o backup deve incluir os dados do usuário.
- “USER_DATA_ALL” [Boolean]: define se o backup deve incluir todas as entradas de mídia, não apenas as que contêm dados do usuário (USER_DATA também precisa estar ativado).
- “CUSTOM_IMAGES” [Boolean]: define se o backup deve incluir as imagens personalizadas (USER_DATA também precisa estar ativado).
- “FILE_FAVORITES” [Boolean]: define se o backup deve incluir os favoritos de arquivos.
- “TAG_CACHE” [Boolean]: define se o backup deve incluir o cache de tags.
Alterar a conexão ativa do provedor de mídia
Seção intitulada “Alterar a conexão ativa do provedor de mídia”Força um provedor de mídia a usar a conexão principal ou secundária.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “force_provider_connection”
- “PROVIDER_ID” [Long]: o ID do provedor de mídia. OBRIGATÓRIO
- “ACTIVE_CONNECTION” [Int]: 1 para conexão principal, 2 para conexão secundária. OBRIGATÓRIO.
Regenerar miniaturas dos artistas
Seção intitulada “Regenerar miniaturas dos artistas”Gera novamente a miniatura do artista com base nas miniaturas das faixas associadas a ele.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “generate_artist_thumbnail”
- “ONLY_MISSING_THUMBNAIL” [Boolean]: quando true, atualiza apenas artistas que ainda não têm uma miniatura definida.
- “NAME” [String]: o nome do artista (Observação: você pode usar o valor especial “
--ALL--” para gerar novamente as miniaturas de todos os artistas. Considere o tempo necessário e o consumo de bateria.)
Carregar estilo do aplicativo
Seção intitulada “Carregar estilo do aplicativo”Carrega um estilo personalizado do aplicativo que foi salvo anteriormente.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “load_app_style”
- “NAME” [String]: o nome do estilo do aplicativo
Carregar perfil
Seção intitulada “Carregar perfil”Carrega um perfil salvo.
- Action: “app.symfonium.api.CUSTOM_ACTION”
- Extras :
- “ACTION” [String]: “load_profile”
- “NAME” [String]: o nome do perfil
