我正在编写一个使用 SAPI 5 的自定义文本转语音程序,我面临的一个问题是枚举声音SpEnumTokens
并对其进行迭代会产生CSpDynamicString
对象。
我的问题是,我如何转换CSpDynamicString
成char *
这样我可以printf
他们?
看起来我必须使用 ATL 中的某种文本转换宏。我找到了一个这样做的例子(给定dstrDesc
的是CSpDynamicString
):
CSpDynamicString dstrDesc;
SpGetDescription(voiceToken, &dstrDesc);
USES_CONVERSION;
printf("%s\n", W2T(dstrDesc));
然而,这只会打印语音名称的第一个字符!
有任何想法吗?