Qt配置FFmpeg中,读取麦克风录音时,解决中文乱码问题

基于Qt平台,用FFmpeg开发录音录屏时,一直无法识别麦克风。

修改如下:

// 部分代码如下:
AVFormatContext *pFormatCtx = nullptr;
pFormatCtx = avformat_alloc_context();
AVInputFormat *ifmt = av_find_input_format("dshow"); //录音使用dshow

QString audioDevOption = QStringLiteral("audio=麦克风阵列 (Conexant SmartAudio HD)");
QByteArray audioDev = audioDevOption2.toLocal8Bit();
char *audio = audioDev.data();

int ret = avformat_open_input(&pFormatCtx,audio, ifmt,nullptr);

// ret = 0
// 通过。

中文乱码,需要添加下面的处理。

#ifdef _MSC_VER
    //MSVC编译器环境下的代码
    #define _T(str) QString::fromLocal8Bit(str)
#elif __GNUC__
    //MinGW编译器环境下的代码
    #define _T(str) QString(str)
#endif

放在 *.pro里面,让编译器选择,使用哪个编译器

定义了上面之后,用:

QString audioDevOption = QStringLiteral(_T("audio=麦克风阵列 (Conexant SmartAudio HD)"));

添加_T("中文内容");  就OK了

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值