b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

wince6.0 音乐播放器_qq音乐付费音乐破解版_虾米音乐怎么顺序播放(2)

电脑杂谈  发布时间:2019-08-21 10:09:29  来源:网络整理

m_lpCurrData = pCurrData;

m_CurrT = CurrT;

m_PrevSamp[0] = PrevSamp0;

m_PrevSamp[1] = PrevSamp1;

虾米音乐怎么顺序播放_wince6.0 音乐播放器_qq音乐付费音乐破解版

m_CurrSamp[0] = CurrSamp0;

m_CurrSamp[1] = CurrSamp1;

return pBuffer;

知道了左右声道增益设定方式,哪么我们就去找m_fxpGain这个参数,这是原文件中的参数,当然我们可以给他添加一个后缀,比如m_fxpGainR、m_fxpGainL。这样在阅读的之后也要便于一些,我这里就直接使用我实验时更改的代码。我看到m_fxGain参数是在StreamContext这个类里边定义的!在PLATFORM\SMDK2410\DRIVERS\WAVEDEV\Strmctxt.h文件中可以找到,在这个类里边我们可以看见这样两个函数:

DWORD SetGain(DWORD dwGain)

{

m_dwGain = dwGain&0xFFFFFFFF;

GainChange();

return MMSYSERR_NOERROR;

}

这个是设定音量调用的变量。在原文件中m_dwGain = dwGain&0xFFFF;这样一来就把WaveOutSetVolume传过来的32位音量参数与成16位有效了,哪么我们传过来的高16位的音量就没有作用了,我们要做的就是把高16位的功能开启起来!

virtual void GainChange()

{

DWORD m_dwGainL = (m_dwGain >> 16) & 0xffff;

DWORD m_dwGainR = m_dwGain & 0xffff;

m_fxpGain = MapGain(m_dwGainR);

m_fxpGain1 = MapGain(m_dwGainL);

}

在这个变量中读取MapGain将我们传送进来的数据转化成音量增益,这里我们可以不管他,因为音量增益是一个指数型增长的数据,所以在这里需要转化,这样在设定音量的之后我们就能感觉到他是直线型增长的!

在这个变量中就已经可以看出,已经将两个声道的音量分离开了,也就是在后面讲到的Render中所使用的亮度增益。

这个参数是在PLATFORM\SMDK2410\DRIVERS\WAVEDEV\WaveMain.cpp里面的WAV_IOControl传进来的,

case WODM_SETVOLUME:

{ UINT NumDevs = g_pHWContext->GetNumOutputDevices();

LONG dwGain = dwParam1;

if (pStreamContext)

{

dwRet = pStreamContext->SetGain(dwGain);

}

else

{

DeviceContext *pDeviceContext= _pHWContext->GetOutputDeviceContext(uDeviceId);

dwRet = pDeviceContext->SetGain(dwGain);

}

break;

}

在这上面有两种状况,一个是设定整个平台的音量,一个是更改流的音量,这样我们后面所说的联系上去,就能很容易的了解到系统音量设定的整个步骤了!

设置过后当然是没有改变注册表中音量的值的。

在实现左右声道音量设定的之后我发觉了一个奇怪的现象,那就我们显然能设定左右声道音量增益,但是没有办法稳定的实现在一个声道播放声音,例如:我们播放一个音频,声音设定为单声道,就是说将32位参数中的高16位或者低16设为0,连续播放多次这个音频,理论上来说是一个喇叭有声音,一个喇叭没有声音!

在测试中我发觉,两个声道的音量交换,就好像是我们起初设定的是0xFFFF0000,播放几次之后,就变成了0xFFFF了,左右声道的音量交换了。

我用示波器看了一下数据和左右声道选择线的波形wince6.0 音乐播放器,在s3c2410中,是使用的IIS总线,左右声道选择线是LRCLK,我看到他开启几个周期过后,才有数据的传送,但是详细开启了几个周期过后才开始传送数据的是不确定的,所有就会有左右声道交换的状况!恰好2410的LRCLK又是不能控制的!

如果有人解决了也碰到了同样的状况,欢迎与我探讨。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-120036-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...