好的,这就是我得到的,我使用本机消息来从Windows中的Chrome扩展程序中激活c ++程序。
这个c ++程序(ehost.exe)创建了一个ffmpeg进程,用于记录输入音频并将其保存到mp3
我使用CreateProcess()函数执行此操作
当我自己打开ehost.exe(双击它)时这很完美
但是当我从我的chrome扩展程序(chrome.runtime.connectNative()
)打开它时,ffmpeg进程打开但ffmpeg没有写入输出文件,好像它没有权限......
有人知道为什么吗? 这是用于启动ffmpeg.exe的ehost.exe代码
static HANDLE startFFmpeg()
{
char cmd[] = "C:\Users\moizilla\Desktop\native\ffmpeg\bin\ffmpeg.exe -y -f dshow -i audio=\"Microphone (High Definition Aud\" -acodec libmp3lame C:\Users\moizilla\Desktop\native\kasdkddfodkadd.mp3";
PROCESS_INFORMATION pi = {0};
STARTUPINFO si={0};
si.cb = sizeof(STARTUPINFO);
if(CreateProcess(NULL, cmd, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)){
CloseHandle(pi.hThread);
return pi.hProcess;
}
return NULL;
}