gec6818显⽰温湿度_基于GEC6818开发板的视频播放基于GEC6818开发板的视频播放
//1,封装函数,定义获取触摸屏数据函数
int get_ts()//获取⼀次点击的坐标,坐标放在ts_x,ts_y
{
//1,打开触摸屏⽂件 "/dev/input/event0"
int fd = open("/dev/input/event0", O_RDWR);
if(-1 == fd)
{
perror("open ts failed");
return -1;
}
struct input_event buf;
int flag = 0;
//2,读取触摸屏⽂件数据
while(1)//练习:优化代码ts.c, 实现效果,点击屏幕,在终端上输出点击的坐标 (x,y)
{
read(fd, &buf, sizeof(buf));
//printf("%d---%d---%d\n", pe, de, buf.value);
//筛选得到X轴坐标,Y轴坐标
pe == EV_ABS && de == ABS_X && flag == 0)
{
ts_x = buf.value;
flag = 1;
}
pe == EV_ABS && de == ABS_Y && flag == 1)
{
ts_y = buf.value;
flag = 2;
}
if(flag == 2)
{
//加⼀个限定条件,要获取到坐标之后,在输出坐标
printf("(%d, %d)\n", ts_x, ts_y);
flag = 0;
break;//获取到⼀次坐标之后,跳出循环
}
}
close(fd);
}
int init_mplayer()//创建⼀个管道⽂件并且打开它,返回管道⽂件的⽂件描述符
{
//创建⼀个管道⽂件
int ret = mkfifo("/tmp/myfifo", 0777);
if(-1 == ret)
{
perror("mkfifo failed");
}
int fd = open("/tmp/myfifo", O_RDWR);
if(-1 == fd)
{视频播放器十大排名
perror("open fifo failed");
return -1;
}
return fd;
}
int get_video(){
int fd = init_mplayer();//初始化视频播放器
//1,显⽰视频播放界⾯
system("./jpeg.show video.jpg");
//2,播放视频
system("./mplayer -slave -quiet -input file=/tmp/myfifo -geometry 30:30 -zoom -x 720 -y 400 LND.avi &"); //3,获取⽤户点击信息
get_ts();
if(ts_x>28 && ts_x<110 && ts_y>260 && ts_y<329)
{
//1,显⽰视频播放界⾯
system("./jpeg.show video.jpg");
//2,播放视频
system("./mplayer -slave -quiet -input file=/tmp/myfifo -geometry 30:30 -zoom -x 740 -y 400 LND.avi &"); }
if(ts_x>44 && ts_x<106 && ts_y>419 && ts_y<480)//快退
{
//改变播放状态的命令
write(fd, "seek -10\n", 9);
}
if(ts_x>134 && ts_x<196 && ts_y>419 && ts_y<480)//快进
{
write(fd, "seek 10\n", 8);
}
if(ts_x>414 && ts_x<480 && ts_y>419 && ts_y<480)//zant
{
write(fd, "pause\n", 6);
}
if(ts_x>505 && ts_x<567 && ts_y>419 && ts_y<480)//yljia
{
write(fd, "volume 20\n", 10);
}
if(ts_x>595 && ts_x<657 && ts_y>419 && ts_y<480)//yljian
{
write(fd, "volume -20\n", 11);
}
if(ts_x>227 && ts_x<291 && ts_y>419 && ts_y<480)//jiny
{
write(fd, "mute 1\n", 7);
}
if(ts_x>323 && ts_x<384 && ts_y>419 && ts_y<480)//huifu
{
write(fd, "mute 0\n", 7);
}
if(ts_x>686 && ts_x<746 && ts_y>419 && ts_y<480)//退出
{
write(fd, "quit\n", 5);
system("./jpeg.show jiem.jpg"); }break;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论