###前提
現在,入力値が特定の値より小さければ高音、大きければ低音を鳴らすプログラムを作成しております。
また音を鳴らすプログラムは、専用スレッドを作成しているため処理自体に影響は出ません。
###実現したいこと・質問内容
###該当のソースコード
C++
1volatile static int src_val;//入力値 2const int val;//基準値 3 4void Sound(){ 5 while(1){ 6 if(src_val <= val) 7 beep(200,1000); 8 } else{ 9 beep(600,1000); 10 } 11} 12 13int main(){ 14 // 15 処理 16 // 17 std::thread SoundsThread(Sound) 18 while(1){ 19 //処理 20 } 21}
このプログラムでは低音から高音、または高音から低音に周波数を切り替えるときに、一瞬だけ音が途切れてしまいます。
C++では、これを途切れさせずに周波数を変更することは可能でしょうか。
可能であるならば、どの関数を使用すればできるのか教えて頂ければありがたいです。
###試したこと
beep関数やMIDIを使用するmidiOutShortMsg関数を試してみましたがうまくいきませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
Visual Studio 2017 Community
OpenCV 3.4.0
C++
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/16 04:40