Omxpalyer
一款具有 GPU 优化的树莓派播放软件。
命令行操作:
阻塞性。
切换:
聚焦于当前,并强制终止。
线程,共享内存。
线程:
使得播放与接收命令不相互阻塞,保证可以接受到数据与正常播放视频。
共享内存:
切换视频,需要知道,什么时候切换,切换到哪一个。
可以单独开辟一片空间 malloc 作为信息的存储。
运行的程序必定有进程。当丢失焦点时,可以通过杀死进程结束进程。killall -9
收到切换信息,保存到共享内存。
播放线程读取共享内存,数据比对得操作。
Coding:
// thread
while(1)
{
int index = *((int*)msg);
system("sudo killall -9 /usr/bin/omxplayer.bin");
int index_old = *((int *)msg);
if(index_old == index)
{
system(keep_show);
}
else {}
}
// main
int index = 0;
res = pthread_create(&sound,NULL,thread,&index);
pthread_detach(sound);
//Makefile
serial : serial_ama.o
gcc -o serial serial_ama.o -lpthread
serial_ama.o : serial_ama.c serial_ama.h
gcc -c serial_ama.c
clean :
rm serial serial_ama.o