起因
C#使用FFmpeg获取电脑音视频可以用设备,当返回内容包含中文时,出现乱码问题
解决方案
ffmpeg本身的输出都是使用的错误输出,所以设置的是StandardErrorEncoding,如果你用的不是ffmpeg,而且使用东西,也遇到了乱码问题,那么你应该去修改相应输出流的编码。
public Process process = new Process(); //省略 this.process.StartInfo.StandardErrorEncoding = Encoding.UTF8; //中间省略 this.process.StartInfo.RedirectStandardError = true; //省略
上面的是我用的,那么你可能不是new Process()
比如你是var startInfo = new ProcessStartInfo()
那么就应该是startInfo.StandardErrorEncoding = Encoding.UTF8;