#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
extern int touchlcd(int *x,int *y);
void create_fifo(const char *name)
{
int ret = mkfifo(name, 0777);
if(ret < 0 && errno!=EEXIST){
perror("mkfifo error");
}
printf("创建成功\n");
}
#define NAME "/root/mplayer/fifo"
int main(void)
{
daemon(0,0);
//创建管道
create_fifo(NAME);
int t_x,t_y;
while(1)
{
//调用触摸屏函数
touchlcd(&t_x,&t_y);
//开始暂停
if(t_x > 0 && t_x < 1024 && t_y > 0 && t_y < 600)
{
int fd = open(NAME,O_WRONLY);
write(fd, "pause\r\n", 7);
}
// //快退
// if(t_x > 0 && t_x < 512 && t_y > 400 && t_y < 600)
// {
// int fd = open(NAME,O_WRONLY);
// write(fd, "seek -3\n", 7);
// }
// //快进
// if(t_x > 512 && t_x < 1024 && t_y > 400 && t_y < 600)
// {
// int fd = open(NAME,O_WRONLY);
// write(fd, "seek 3\n", 7);
// }
}
}
===============================
#include <stdio.h>
#include <unistd.h>
int main(void){
//mplayer -slave -quiet -input file=/tmp/fifo 0.mp4
execl("/root/mplayer/mplayer","mplayer","-slave","-quiet","-input","file=/root/mplayer/fifo","0.mp4",NULL);
}