zoukankan      html  css  js  c++  java
  • 抛砖引玉,贴一个计算声音大小的算法。

    void CWaveOut::UpdateLevel(PBYTE pBuf, DWORD dwLen)
    {
        if (m_wfx.nChannels == 1 && m_wfx.wBitsPerSample == 16)
        {
            short* pWave = (short*)pBuf;
            int    nSmpl = dwLen / sizeof(short);

            short max_sample = -32768;
            short min_sample = 32767;

            for (int i = 0; i < nSmpl; i++)
            {
                if (pWave[i] < min_sample)
                {
                    min_sample = pWave[i];
                }
                if (pWave[i] > max_sample)
                {
                    max_sample = pWave[i];
                }
            }

            short level = max_sample - min_sample;
            if (level < 0)
                m_dwLevel = level * -1;
            else
                m_dwLevel = level;

            TRACE1("WaveOut level %d/n", m_dwLevel);
        }
    }

  • 相关阅读:
    jstat命令-帮助优化java性能
    使用nginx搭建简单文件服务器
    JVM初探
    fastDFS shiro权限校验 redis FreeMark页面静态化
    spring AOP
    Java多线程并发
    js插件之Ocupload
    Jquery总结
    shell
    Linux(二)
  • 原文地址:https://www.cnblogs.com/vc60er/p/3998637.html
Copyright © 2011-2022 走看看