用android或是QT来开发视频播放程序相对来说比较简单,如果是在linux用纯C语言来进行开发,就显得比较麻烦,好在现在有很多开源项目能够帮助我们做什么事情,mplayer就是音视频播放开源项目中典型的例子。
首先需要去mplayer官方网站mplayer下载地址下载源代码,然后使用你的交叉编译工具进行编译,编译完成后会生成一个mplayer执行程序,在命令行执行mplayer就可以进行播放了。
但是,用c语言编程来实现mplayer的播放功能怎么实现呢,本文就来讲讲一个简单的mplayer播放器的实现。
一 、 创建一个管道,进行进程间通信
int fd_fifo;
int g_sock_pair[2]; //全双工管道标识符
int sock_stop_mplay[2];
char video_list[VIDEO_MAX_NUM][30];
void mplayer_init(void)
{
int sockID;
sockID=socketpair(AF_UNIX, SOCK_STREAM, 0, g_sock_pair);//建立全双工管道
if(sockID)
{
printf("the pipe is not contructed\n");
exit(0);
}
else
{
IfPlay = FALSE;//设置标识符初始状态
IfStop = TRUE;
IfPause = FALSE;
IfQuit = TRUE;
video_over = FALSE;
}
if(