A: Neutron supports external commands which can affect its playback process, see detailed description of the commands below.

Description of Remote Procedure Call (RPC) API of Neutron Player and Recorder (note ADB examples in comments):

class NeutronRpc {

    // RPC call:
    
    // Example (ADB):
    // 
    // All versions of Neutron:
    // 
    // Start Neutron:
    // adb shell am start -n com.neutroncode.mp/.NeutronMPCore
    //
    // Send Play command to Neutron step 1) can be omitted:
    // adb shell am start -n com.neutroncode.mp/.NeutronMPCore -a com.neutroncode.mp.ACTION_PLAYER_PLAY
    //
    // From 2.22.1 additionally:
    //
    // Start Neutron's service:
    // adb shell am start-foreground-service com.neutroncode.mp/.NeutronMPService
    //
    // Send command Play:
    // adb shell am broadcast -n com.neutroncode.mp/.NeutronMPRpc -a com.neutroncode.mp.action.RPC_CALL --es command "com.neutroncode.mp.ACTION_PLAYER_PLAY"

    static final String RPC_CALL                   = "com.neutroncode.mp.action.RPC_CALL";
    
    // Commands available for RPC_CALL:

    // Close.    
    static final String ACTION_CLOSE               = "com.neutroncode.mp.ACTION_CLOSE";

    // Stop playback and send to Idle state.
    static final String ACTION_IDLE                = "com.neutroncode.mp.ACTION_IDLE";

    // Show User Interface (UI).
    static final String ACTION_UI                  = "com.neutroncode.mp.ACTION_UI";

    // Show Global Search.
    static final String ACTION_SEARCH              = "com.neutroncode.mp.ACTION_SEARCH";

    // Start playing.
    static final String ACTION_PLAYER_PLAY         = "com.neutroncode.mp.ACTION_PLAYER_PLAY";

    // Pause playing.
    static final String ACTION_PLAYER_STOP         = "com.neutroncode.mp.ACTION_PLAYER_STOP";

    // Pause playing (as if sent by Notification or Widget).
    static final String ACTION_PLAYER_STOP_NF      = "com.neutroncode.mp.ACTION_PLAYER_STOP_NF";

    // Pause playing and rewind to the beginning of the track.
    public static final String ACTION_STOP_FULL    = "com.neutroncode.mp.ACTION_STOP_FULL";

    // Pause playing and rewind to the beginning of the track (as if sent by Notification or Widget).
    public static final String ACTION_STOP_FULL_NF = "com.neutroncode.mp.ACTION_STOP_FULL_NF"; 

    // Switch to previous track.
    static final String ACTION_PLAYER_PREV         = "com.neutroncode.mp.ACTION_PLAYER_PREV";

    // Switch to next track.
    static final String ACTION_PLAYER_NEXT         = "com.neutroncode.mp.ACTION_PLAYER_NEXT";

    // Switch to previous group.
    static final String ACTION_PLAYER_PPREV        = "com.neutroncode.mp.ACTION_PLAYER_PPREV";

    // Switch to next group.
    static final String ACTION_PLAYER_PNEXT        = "com.neutroncode.mp.ACTION_PLAYER_PNEXT";

    // Toggle Loop playback mode.
    static final String ACTION_PLAYER_MODE_LOOP    = "com.neutroncode.mp.ACTION_PLAYER_MODE.LOOP";

    // Toggle Shuffle playback mode.
    static final String ACTION_PLAYER_MODE_SHUFFLE = "com.neutroncode.mp.ACTION_PLAYER_MODE.SHUFFLE";

    // Start recording (Neutron Recorder only).
    public static final String ACTION_RECORDER_RECORD = "com.neutroncode.mp.ACTION_RECORDER_RECORD";
};