mac下obs插件mac-capture在获取音频设备名称转char*时,因出现中文到时转换失败,从而音频设备列表为空。如果系统改成英文版就可以。
可以修改mac-capture下的mac-helpers.h的cf_to_dstr借口
static inline bool cf_to_dstr(CFStringRef ref, struct dstr *str)
{
size_t size;
if (!ref) return false;
CFIndex length = CFStringGetLength(ref);
size = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8);
//原来获取的大小方式
//size = (size_t)CFStringGetLength(ref);
if (!size)
return false;
dstr_resize(str, size);
return (bool)CFStringGetCString(ref, str->array, size+1,
kCFStringEncodingUTF8);
}
本文介绍了一个Mac下OBS插件mac-capture的问题:当系统语言为中文时,音频设备名称转换为char*失败,导致音频设备列表为空。文章提供了修改mac-capture下mac-helpers.h文件中cf_to_dstr接口的方法来解决这一问题。
1494

被折叠的 条评论
为什么被折叠?



