window avformat_open_input 返回值-5

来源:6-9 从音频设备中读取音频数据

darklgd

2022-05-12

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;
}

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

写回答

1回答

李超

2022-05-12

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

0
1
darklgd
嗯啊 是的 使用了Alternative name 可以了
2022-05-17
共1条回复

音视频小白系统入门课 音视频基础+ffmpeg原理

掌握音视频采集、编解码、RTMP传输协议等核心基础

2318 学习 · 813 问题

查看课程