Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c+中为指定文本着色+; 如何在C++中显色特定文本?比如: 这是一个例子。 在上面我想颜色“是”。我怎样才能做到这一点?_C++_Colors - Fatal编程技术网

如何在c+中为指定文本着色+; 如何在C++中显色特定文本?比如: 这是一个例子。 在上面我想颜色“是”。我怎样才能做到这一点?

如何在c+中为指定文本着色+; 如何在C++中显色特定文本?比如: 这是一个例子。 在上面我想颜色“是”。我怎样才能做到这一点?,c++,colors,C++,Colors,您不能在标准中做到这一点(播放声音),因为标准不知道与声音相关的事情。您需要一些额外的(通常是特定于操作系统的)库,例如或;两者都可以在多个系统上运行,并抽象出特定的服务 如果您正在使用终端,可以尝试 请注意,您的用户甚至可能无法听到声音(例如,他的计算机上缺少扬声器或扬声器被禁用,或者是聋哑用户)。“C++是一种语言”。。。说“如何在C++中播放声音或者在C++中添加声音”本身就没有意义。为了播放声音,您需要一个操作系统API。所以,发生的是:用C++访问操作系统API(具体的工作是Windo

您不能在标准中做到这一点(播放声音),因为标准不知道与声音相关的事情。您需要一些额外的(通常是特定于操作系统的)库,例如或;两者都可以在多个系统上运行,并抽象出特定的服务

如果您正在使用终端,可以尝试

请注意,您的用户甚至可能无法听到声音(例如,他的计算机上缺少扬声器或扬声器被禁用,或者是聋哑用户)。

“C++是一种语言”。。。说“如何在C++中播放声音或者在C++中添加声音”本身就没有意义。为了播放声音,您需要一个操作系统API。所以,发生的是:用C++访问操作系统API(具体的工作是Windows、MAC、Linux),然后播放声音。 但是,操作系统API周围有一些解决方案(包装器),可以使这项工作更容易。例如,SDL框架是独立于平台的,因为它将为您处理操作系统。(适用于Windows、Mac、Linux等)

这是一个使用SDL2框架播放声音的示例。看看(不带SDL_混音器)或(音频部分具有相同功能):

同样,这只是一个样本。也许你只是想播放一个“wave”文件,而不用担心wave缓冲区等等

例如,在Windows上,您有
PlaySound()
函数。有了这个,您只需给出文件名(.wav)就可以了。


对于其他平台,可能存在类似的情况。。。祝你好运;-)

声音和颜色的关系是什么?你的题目似乎与你问题的内容没有多大关系。一个是关于声音,另一个是(据我所知)关于控制台输出的颜色。请澄清这两件事之间的关系,或选择一件来询问。事实上,由于不清楚你在问什么,你的问题就要结束了。对不起,我会纠正的,现在请帮我解决。。!虽然你现在提到的是一个问题,但这篇文章仍然缺乏重要的细节,无法将问题缩小到可以回答的程度。在哪里输出要着色的文本?在Unix终端中?在Windows的命令提示符中?GUI?如果您指的是GUI,您使用的是什么框架?代码参考使用旧的SDL-1.2库。SDL2应该是首选。我认为API的这一部分没有改变。。。同样,我的回答只是一些一般性的例子,不应该被视为具体的解决方案。我们的目标是显示“有针对此的API”;-)感谢您的编辑;-)
static Uint8 *audio_chunk;
static Uint32 audio_len;
static Uint8 *audio_pos;

/* The audio function callback takes the following parameters:
   stream:  A pointer to the audio buffer to be filled
   len:     The length (in bytes) of the audio buffer
*/
void fill_audio(void *udata, Uint8 *stream, int len)
{
    /* Only play if we have data left */
    if ( audio_len == 0 )
        return;

    /* Mix as much data as possible */
    len = ( len > audio_len ? audio_len : len );
    SDL_MixAudio(stream, audio_pos, len, SDL_MIX_MAXVOLUME);
    audio_pos += len;
    audio_len -= len;
}

/* Load the audio data ... */

;;;;;

audio_pos = audio_chunk;

/* Let the callback function play the audio chunk */
SDL_PauseAudio(0);

/* Do some processing */

;;;;;

/* Wait for sound to complete */
while ( audio_len > 0 ) {
    SDL_Delay(100);         /* Sleep 1/10 second */
}
SDL_CloseAudio();