Directshow, how to set volume?
Hi, all my attempts at setting volume in my directshow music player have failed.
Could anyone please post me some code or suggestions, thanks!
Query for a IBasicAudio interface from the graph builder.
m_pGraphBuilder->QueryInterface( IID_IBasicAudio, reinterpret_cast( &m_pBasicAudio ) )
With this interface you can simply change the volume by doing:
m_pBasicAudio->put_Volume( iVolumeRange[dwVolume] );
Careful, put_Volume uses dB in the range of 0 to -10000. You can also set the panning with put_Balance.
Don''t forget to release the interface again.
m_pGraphBuilder->QueryInterface( IID_IBasicAudio, reinterpret_cast( &m_pBasicAudio ) )
With this interface you can simply change the volume by doing:
m_pBasicAudio->put_Volume( iVolumeRange[dwVolume] );
Careful, put_Volume uses dB in the range of 0 to -10000. You can also set the panning with put_Balance.
Don''t forget to release the interface again.
i made a class that includes the interface, and it is released when the class is destroyed.
Is that an ok way of releasing it?
Is that an ok way of releasing it?
I guess so. As long as you do Release on it like with any other COM interface (DirectX interfaces).
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement