问题描述
我在弄清楚如何播放哔哔声时遇到问题:
由于百分比较低,我希望声音以更快的频率和更高的频率脉动,反之亦然。
template<typename tVal>
tVal map_value(std::pair<tVal,tVal> a,std::pair<tVal,tVal> b,tVal inVal)
{
tVal inValnorm = inVal - a.first;
tVal aUppernorm = a.second - a.first;
tVal normPosition = inValnorm / aUppernorm;
tVal bUppernorm = b.second - b.first;
tVal bValnorm = normPosition * bUppernorm;
tVal outVal = b.first + bValnorm;
return outVal;
}
void BeepSound(unsigned int percentage /* 0-100 */)
{
/*
Play sound with delay and frequency based on percentage
*/
static const unsigned int maxms = 2000;
static const unsigned int maxFreq = 2000;
std::pair<unsigned int,unsigned int> a(1,100);
std::pair<unsigned int,unsigned int> b0(1,maxms);
std::pair<unsigned int,unsigned int> b1(500,maxFreq);
unsigned int delay = map_value(a,b0,percentage);
unsigned int frequency = map_value(a,b1,percentage);
static DWORD delayTimer = 0;
if ( GetTickCount64() - delayTimer > delay )
{
delayTimer = GetTickCount64();
Beep(frequency,delay);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)