⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpd.c

📁 MINIWEB 0.75, 可以用于嵌入式系统设计。
💻 C
字号:
#ifdef MPD#include "httppil.h"#include "httpapi.h"#include "procpil.h"int mpState=0;SHELL_PARAM mpx;int mpRead(char* buf, int bufsize){	int bytes=0;#ifdef WIN32	ReadFile((HANDLE)mpx.fdRead,buf,bufsize-1,&bytes,NULL);#else	bytes=read(mpx.fdRead,buf,bufsize-1);#endif	*(buf+bytes)=0;	return bytes;}int mpCommand(char* cmd){	int ret,bytes=0;	char* p=malloc(strlen(cmd)+2);	ret=sprintf(p,"%s\n",cmd);#ifdef WIN32	WriteFile((HANDLE)mpx.fdWrite,p,ret,&bytes,NULL);#else	ret=write(mpx.fdWrite,p,ret);#endif	free(p);	return ret;}int mpOpen(char* pchFilename){	char cmd[256];		if (mpState) {		mpCommand("quit");		//write(mpx.fdWrite,"quit\n",5);		ShellWait(&mpx,1);		ShellClean(&mpx);	}	memset(&mpx,0,sizeof(mpx));#ifdef WIN32	sprintf(cmd,"d:\\mplayer\\mplayer.exe -slave -quiet %s",pchFilename);#else	sprintf(cmd,"/cygdrive/c/mplayer/mplayer -slave -quiet %s",pchFilename);#endif	mpx.pchCommandLine=cmd;	if (ShellExec(&mpx)) return -1;	msleep(1000);	mpState=1;	return 0;}int uhMpd(UrlHandlerParam* param){	char *cmd=param->pucRequest;	if (!strncmp(cmd,"open=",5)) {		if (mpOpen(cmd+5) || !(mpRead(param->pucBuffer,param->iDataBytes))) {			strcpy(param->pucBuffer,"Failed to launch MPlayer");		}	} else if (!strncmp(cmd,"command=",8)) {		strcpy(param->pucBuffer,(mpCommand(cmd+8)>0)?"OK":"Error");	} else {		return 0;	}	param->iDataBytes=strlen(param->pucBuffer);	param->fileType=HTTPFILETYPE_TEXT;	return FLAG_DATA_RAW;}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -