zoukankan      html  css  js  c++  java
  • waveOutSetVolume

    MSDN上说:

    MMRESULT waveOutSetVolume(
      HWAVEOUT hwo,  
      DWORD dwVolume 
    );

    Parameters

    hwo

    Handle to an open waveform-audio output device. This parameter can also be a device identifier.

    dwVolume

    New volume setting. The low-order word contains the left-channel volume setting, and the high-order word contains the right-channel setting. A value of 0xFFFF represents full volume, and a value of 0x0000 is silence.

    If a device does not support both left and right volume control, the low-order word of dwVolume specifies the volume level, and the high-order word is ignored.

     

    {
        waveOutSetVolume(hwo, dwVolume);
        waveOutClose(hwo);
        break;
    }

    而VLC里面有这么两句:

    static int VolumeGet( aout_instance_t * p_aout, audio_volume_t * pi_volume )
    {
        DWORD i_waveout_vol;
    
    #ifdef UNDER_CE
        waveOutGetVolume( 0, &i_waveout_vol );
    #else
        waveOutGetVolume( p_aout->output.p_sys->h_waveout, &i_waveout_vol );
    #endif
    
        i_waveout_vol &= 0xFFFF;
        *pi_volume = p_aout->output.i_volume =
            (i_waveout_vol * AOUT_VOLUME_MAX + 0xFFFF /*rounding*/) / 2 / 0xFFFF;
        return 0;
    }
    static int VolumeSet( aout_instance_t * p_aout, audio_volume_t i_volume )
    {
        unsigned long i_waveout_vol = i_volume * 0xFFFF * 2 / AOUT_VOLUME_MAX;
        i_waveout_vol |= (i_waveout_vol << 16);
    
    #ifdef UNDER_CE
        waveOutSetVolume( 0, i_waveout_vol );
    #else
        waveOutSetVolume( p_aout->output.p_sys->h_waveout, i_waveout_vol );
    #endif
    
        p_aout->output.i_volume = i_volume;
        return 0;
    }
  • 相关阅读:
    Android学习笔记安卓基础知识
    V8编程1
    dfdf
    NodeJS沙箱
    CGI编程cgihtml库简析
    dsfdsf
    Android学习笔记获取屏幕大小
    Android学习笔记AndroidManifest.xml配置文件详解
    HTTP状态码解析
    简易c++版本日志库
  • 原文地址:https://www.cnblogs.com/zzugyl/p/2922078.html
Copyright © 2011-2022 走看看