Csharp/C#教程:如何在c#中停止ffmpegvideo录制?分享


如何在c#中停止ffmpegvideo录制?

我在应用程序中使用FFmpeg并且它完美地启动和录制video但是当我想要停止它请求按“q”时,我收到了System.EntryPointNotFoundException错误消息。

如何从应用程序向处于运行状态的进程发送消息“q”

int key_q = 81; [DllImport("user32.dll", EntryPoint = "postmessage")] private static extern bool postmessage(IntPtr hwnd, uint msg, int wparam, int lparam); private void button_stop_Click(object sender, EventArgs e) { string process = "ffmpeg"; Process[] pro = Process.GetProcessesByName("ffmpeg"); pro[0].Refresh(); IntPtr h = pro[0].MainWindowHandle; postmessage(h, 0x100, key_q, 0); } 

如果您最初创建了该进程,则可以保留其stdin的句柄并将其发送为“q”(可能还需要在之后发送“ n”)。

如果你没有,那么你可以使用一些第三方.exe(或内部等价物)向它的进程ID发送一个ctrl + c / ctrl + break。

FFmpeg没有窗口句柄,因为它是一个控制台应用程序,所以你不能用PostMessage等发送它的击键。 只能通过控制台信号(即ctrl + c / break)

上述就是C#学习教程:如何在c#中停止ffmpegvideo录制?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1026327.html

(1)
上一篇 2022年1月9日
下一篇 2022年1月9日

精彩推荐