Все зависит от плеера, у каждого свои механизмы
Например у mpv (потомка mplayer) есть возможность управлять им, симулируя нажатия на кнопки (как я помню через stdin пайпом от своего приложения) и используя плейлист через пайп или тот же stdin, формируя его на лету своим приложением
по нормальному mpv поддерживает скриптовые плагины на lua, есть плагин
mpv-network-commands так что любое поведение можно запрограммировать