gpt4 book ai didi

继续接受命令行工具中的输入(如 say 命令)

转载 作者:行者123 更新时间:2023-11-30 14:24:32 28 4
gpt4 key购买 nike

在 OS X 的终端中,如果您键入“say”并按回车键,则该命令不会退出,并且系统会说出任何后续输入的内容(后跟回车键)。怎么才能达到这样的效果呢?

最佳答案

如果您输入 cat 并按回车键,该命令不会退出,并且随后输入的任何内容(后跟回车键)都会打印在屏幕上(而不是通过扬声器,如say)。因此,最简单的方法是读取行直到 EOF;您可以使用 fgets() 来实现,很简单,或者使用 getline()

int main(void)
{
char buffer[4096];
while (fgets(buffer, sizeof(buffer), stdin) != 0)
{
fputs(buffer, stdout);
// Or invoke appropriate text-to-speech function(s)
}
return(0);
}

文本到语音的转换将通过 Apple 提供的调用完成。您可能需要使用 Objective C 来明智地获取接口(interface),在这种情况下,您可能还需要使用其他一些输入函数或将字符串转换为适当的 Objective C 构造。

/usr/bin/say 命令使用以下库:

/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 633.0.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 41.0.0)
/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)

AudioToolBox、AudioUnit 和 CoreAudio 的组合将提供文本转语音服务。

关于继续接受命令行工具中的输入(如 say 命令),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11594272/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com