#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include "./includes/start_mplayer.h"
//启动mplayer播放器：需要安装mplayer,  安装命令：sudo apt install mplayer -y
//命令测试mplayer播放器：  mplayer 简单爱.mp3
//参数song_path 为歌曲的路径
void mplayer_play(const char *song_path) // 启动mplayer播放器，播放歌曲
{
	pid_t pid;	  // 进程id
	pid = fork(); // 创建子进程, 用于启动mplayer播放器
	if (pid < 0)  // 创建失败, fork()返回值小于0，表示创建子进程失败
	{
		perror("fork"); // 打印错误信息
	}
	else if (pid == 0) // 子进程中, fork()返回值为0，表示当前进程为子进程
	{
		close(1); // 关闭标准输出
		close(2); // 关闭标准错误输出
		// 启动mplayer播放器，参数为歌曲路径，-slave表示mplayer进入slave模式，-quiet表示mplayer进入安静模式，不输出任何信息，NULL表示参数列表结束，execlp()函数执行成功后，当前进程就被替换成mplayer进程，所以当前进程不会执行到下面的代码
		execlp("mplayer", "mplayer", "-slave", "-quiet", song_path, NULL);
		// execlp("mplayer", "mplayer", "-slave", song_path, NULL);
		exit(0); // 子进程退出
	}
}