あなたがおそらく望むのは、MPlayer の入力のスレーブ モードです。これにより、別のプログラムからコマンドを簡単に与えることができます。このモードで MPlayer を起動するには-slave
、起動時にコマンド ライン オプションを指定します。
このモードでは、MPlayer は標準の入力バインドを無視し、代わりに改行で区切って一度に 1 つずつ送信できるテキスト コマンドの異なる語彙を受け入れます。サポートされているコマンドの完全なリストについては、 を実行してmplayer -input cmdlist
ください。
質問に Qt のタグを付けたので、C++ を使用していると仮定します。MPlayer のスレーブ モードの使用方法を示す C のサンプル プログラムを次に示します。
#include <stdio.h>
#include <unistd.h>
int main()
{
FILE* pipe;
int i;
/* Open mplayer as a child process, granting us write access to its input */
pipe = popen("mplayer -slave 'your_audio_file_here.mp3'", "w");
/* Play around a little */
for (i = 0; i < 6; i++)
{
sleep(1);
fputs("pause\n", pipe);
fflush(pipe);
}
/* Let mplayer finish, then close the pipe */
pclose(pipe);
return 0;
}