Symfonium API (Allow control from other apps like tasker)

Starting with version 1.7.0 Symfonium expose an API that allows other applications to interact with it.

The API is accessible via a Broadcast receiver, so all you need to do is send proper broadcast intents.

The receiver component name is “app.symfonik.music.player/app.symfonium.remote.api.ApiReceiver

For apps that split the component this give:

  • Package : “app.symfonik.music.player”
  • Class: “app.symfonium.remote.api.ApiReceiver”
  • Type: Broadcast

Fill the action value of the Intent to the API you want to call, and fill in the extras as documented below.

Change renderer

  • Action: “app.symfonium.api.SELECT_RENDERER”
  • Extras:
    • “TYPE” [Int]: The renderer type
      Possible value:
      • 0 : Local device
      • 1: UPnP Player
      • 3 : Chromecast Player
      • 6 : Remote Media Center
    • “IDENTIFIER” [String/Optional]: The renderer unique ID
      The value can be seen from the cast screen by pressing the (i) button, you can long press the renderer to automatically copy the value to the clipboard

Force sync

  • Action: “app.symfonium.api.MEDIA_SYNC”
  • Extras:
    • “PROVIDER_ID” [Int]: The provider ID (Can be seen in the bottom sheet menu of providers in settings)

Playback control

  • Action: “app.symfonium.api.MEDIA_COMMAND”
  • Extras:
    • “COMMAND” [String]: The command you want to send
      Possible value:
      • “play”
      • “pause”
      • “stop”
      • “next”
      • “previous”
      • “shuffle”
      • “repeat”
      • “mute”
      • “togglemute”
      • “seek_relative” (relative position in seconds as int parameter)
      • “seek” (position in seconds as int parameter)
      • “volume” (Volume as int parameter)
      • “set_sleeptimer” (Delay in minutes as int parameter) (6.0.0+)
      • “remove_sleeptimer” (6.0.0+)
    • “INT_PARAMETER” [Int/Optional]: An int value for the commands that requires it

Media start

  • Action: “app.symfonium.api.MEDIA_START”
  • Extras:
    • “MEDIA_TYPE” [String]: The media type to start
      Possible value:
      • “playlist”
      • “artist”
      • “album”
      • “genre”
      • “song”
      • “song_mix”
      • “album_mix”
    • “NAME” [String/Optional]: The name of the media (Optional for songs if you provide the filename (1.9.0+))
    • “FILE” [String/Optional/1.9.0+]: The full path of the media for songs only.
    • “RESUME” [Boolean/Optional]: If the media should be resumed if possible.
    • “SHUFFLE” [Boolean/Optional]: For media groups like playlist / genre if the content should be shuffled.
    • “QUEUE” [Int/Optional/1.8.0+]: 1 to queue the media at the end of playlist. 2 to queue the media just after currently playing one.

Setting change (1.10.0+)

  • Action: “app.symfonium.api.CHANGE_SETTINGS”
  • Extras:
    • “SETTING” [String]: The setting to change
      Possible value:
      • “wifi_transcode” : Wifi transcoding bitrate
      • “mobile_transcode” : Mobile transcoding bitrate
      • “available_offline” : Available offline filter (3.2.0+)
      • “sleeptimer_endofsong” : Sleep timer wait end of song (6.0.0+)

    • “INT_PARAMETER” [Int]: Transcoding value

       Possible value for sleep timer wait end of song:
       • 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 Kbps
      

Playlist import (8.0.0+)

Import the playlists from a supported media provider. Existing playlists are automatically skipped.

  • Action: “app.symfonium.api.PLAYLIST_IMPORT”
  • Extras:
    • “PROVIDER_ID” [Int]: The provider ID (Can be seen in the bottom sheet menu of providers in settings)
    • “PLAYLIST_TYPE” [Int]: Imported playlist type
      • 1: Offline first
      • 2: Read only
      • 3: Online first
4 Likes