请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

window avformat_open_input 返回值-5

windows上 通过avformat_open_input 打开音频设备设备失败 返回码 -5
我可以确定是一定有这个设备的 我尝试过搜索博客搜索出来的几个转utf-8的函数 将设备名转换为utf-8的字符串 或者说使用 Alternative name 并将其转成Utf-8或者不转为utf-8 都测试过 但是依然还是返回-5
下面是我使用的转换utf-8函数

std::string StringToUTF8(const std::string& gbkData)
{
	const char* GBK_LOCALE_NAME = "CHS";  //GBK在windows下的locale name(.936, CHS ), linux下的locale名可能是"zh_CN.GBK"

	std::wstring_convert<std::codecvt<wchar_t, char, mbstate_t>>
		conv(new std::codecvt<wchar_t, char, mbstate_t>(GBK_LOCALE_NAME));
	std::wstring wString = conv.from_bytes(gbkData);    // string => wstring

	std::wstring_convert<std::codecvt_utf8<wchar_t>> convert;
	std::string utf8str = convert.to_bytes(wString);     // wstring => utf-8

	return utf8str;
}

想知道这个是我这个转换函数的问题 还是什么问题 怎么解决这个问题啊

正在回答 回答被采纳积分+3

1回答

李超 2022-05-12 17:53:16

早晨在群里问了吧?应该可以确定是你的UTF-8转换函数的问题,这个我这儿也没有现成的代码,到网上找找吧

0 回复 有任何疑惑可以回复我~
  • 提问者 darklgd #1
    嗯啊 是的   使用了Alternative name 可以了
    回复 有任何疑惑可以回复我~ 2022-05-17 11:11:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信