如何在C++中爲特定文本着色?如: 這是的例子。 在上面我想顏色「是」。我怎樣才能做到這一點?如何在C++中爲指定的文本着色
回答
你不能這樣做(播放聲音)標準C++14,因爲標準不知道聲音相關的東西。您需要一些額外的(通常是操作系統特定的)庫,例如SFML或Qt;兩者都可以在多個系統上運行,並抽取operating-system特定服務。
如果您將ANSI escape codes用於終端,則可以嘗試BELL character。
請注意,您的用戶可能甚至沒有任何方法可以聽到聲音(例如他的計算機或聾啞用戶缺少 - 或禁用揚聲器)。
「C++是一種語言」......說「如何在C++中播放聲音或在C++中添加聲音」本身沒有意義。爲了播放聲音,您需要一個操作系統API。那麼會發生什麼:使用C++,您可以訪問操作系統API(您正在使用的特定Windows,Mac,Linux),然後播放聲音。
但是,圍繞操作系統API的解決方案(包裝)將使這項工作更容易。例如,SDL Framework與平臺無關,因爲它將爲您處理操作系統。 (適用於Windows,Mac,Linux等)
這是使用SDL2框架播放聲音的示例。看一看this code example for SDL 2(沒有SDL_mixer)或this tutorial for SDL 1.2(其具有相同功能的用於音頻部分):
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();
同樣,這僅僅是一個示例。也許你只是想玩一個「波」文件,而不用擔心波緩衝區等等等等......
例如,在Windows上,您有PlaySound()
函數。有了這個,你可以給文件名(.wav),就是這樣。 https://msdn.microsoft.com/en-us/library/windows/desktop/dd743680(v=vs.85).aspx
對於其他平臺,類似的東西可能存在...好運氣;-)
代碼參考使用舊的SDL-1.2庫。應始終首選SDL2。 –
我認爲API的這部分沒有改變......我的答案只是一些通用示例,不應該被視爲一個具體的具體解決方案。目標是顯示「有API用於此」;-) –
感謝您的編輯;-) –
- 1. 如何在vim中爲指定的文本着色?
- 2. 在C#中着色文本#
- 3. 如何在Python中爲文本着色?
- 4. 在RichtextBox,C中着色文本#
- 5. 如何在vb.net中爲richtextbox中的多個文本着色
- 6. 在java中着色文本
- 7. 如何着色在C#
- 8. 着色文本中的WinForms
- 9. 着色文本
- 10. 如何在GridView中爲非選定的行着色項目文本?
- 11. 如何指定圖表來爲特定點着色?
- 12. 如何爲richTextBox中的不同文本着色?
- 13. Excel VBA僅爲以前未着色的文本着色
- 14. 如何在CSS中指定背景文本的矩形顏色
- 15. 如何使用silverlight在c#中爲網格中的特定行着色
- 16. 如何指定在iOS中呈現爲PDF的文本的顏色?
- 17. 如何在emacs中使用vim的語法文件來爲文本着色
- 18. NSButton如何在OSX上爲文本着色
- 19. 如何在android中爲當天着色?
- 20. 如何在JavaScript中爲圖像着色?
- 21. 如何在java中爲BufferedImage/Image着色?
- 22. VBA着色Celldata在指定值之間
- 23. 根據預定義的條件爲文本編輯器(如emacs)着色文本?
- 24. 如何在郵件中的「*」標籤之間着色文本?
- 25. 如何在NSComboBox的Popup菜單中對文本進行着色?
- 26. 在zsh中,如何重新着色已經輸出的文本?
- 27. 如何編寫自定義文本着色的Visual Studio插件?
- 28. 在richTextBox中着色部分文本
- 29. 使用jQuery在textarea中着色文本
- 30. ExtJS - 如何爲文本的一部分着色
是什麼聲音與色彩之間的關係? – IAmBlake
您的標題似乎與您的問題的內容沒有多大關係。一個是談論聲音,另一個是(據我所知)談論着色控制檯輸出。請澄清這兩件事之間的關係,或挑一個問。因爲它是,你的問題即將被關閉爲*不清楚你問什麼。* – jaggedSpire
對不起,我會糾正它 –