因为要对Audio Driver做CETK测试,所以今天了解了一下CETK测试中Audio Driver Test相关的源代码,简单的对各个Case列写如下:
Test ID |
Test Name |
测试目的 |
测试方法 |
|
100 |
Build Verification Test |
驱动验证 |
遍历BuildIn下的流驱动并尝试同时打开wavein和waveout |
|
1000 |
Easy Playback |
播放wav文件 |
调用wave api sndPlaySound来播放wav文件 |
|
2000 |
Playback Capabilities |
检查wave out支持的格式 |
调用wave api waveOutGetDevCaps()来获取wave out支持的格式 |
|
2001 |
Playback |
播放音频 |
以wave out支持的音频格式来播放sine音频数据 |
|
2002 |
Playback Notifications |
测试放音过程中的Notification机制 |
在调用waveout api waveoutopen时,通过参数传递不同通知方式(CALLBACK_NULL/CALLBACK_EVENT/CALLBACK_THREAD/CALLBACK_FUNCTION/CALLBACK_WINDOW),测试程序接收到通知信息后,将会去计算所耗费的时间并和标准时间做对比 |
|
2003 |
Playback Using Extended Functions |
放音的过程中使用扩展功能函数 |
放音的同时调用调整增益的扩展功能函数 |
|
2004 |
Playback Buffer Freed During Playback |
放音的同时释放内存 |
开始放音后释放内存,等待放音结束并记录所耗费的时间,并和标准时间做对比 |
|
2005 |
Playback Sample Rate Reporting |
输出放音所支持的格式及具体的参数 |
调用waveOutGetDevCaps获取waveout所支持的格式,并打印其具体的参数信息,包括Channel/Sample Rate/BitsPerSample等信息 |
|
2006 |
Playback Initial Latency |
测试放音耗时(WAVE_FORMAT_1M08) |
依次调用waveout api以WAVE_FORMAT_1M08格式播放4毫秒数据量,记录时间并和标准时间做对比 |
|
2007 |
Playback Initial Latencies Series |
测试放音耗时(所有格式) |
1. 测试所有格式下的放音耗时,包括WAVE_FORMAT_1M08到WAVE_FORMAT_48000S16间的所有格式,并和标准的值做比较,在对每一种放音格式进行测试的时候,会以2^n(n介于1和12之间)毫秒为放音时常; |
|
2008 |
Playback Interoperability |
创建wav文件并播放 |
该测试按照标准的wav文件格式,创建wav文件,包含了多个chunk,然后进行播放,测试过程中Abort,原因不详 |
|
3000 |
Capture Capabilities |
检查wave in支持的格式 |
调用wave api waveInGetDevCaps()来获取wave in支持的格式 |
|
3001 |
Capture |
录音 |
以wave in支持的各种音频格式来录音,录音时长为1秒 |
|
3002 |
Capture Notifications |
测试录音过程中的Notification机制 |
在调用wavein api waveinopen时,通过参数传递不同通知方式(CALLBACK_NULL/CALLBACK_EVENT/CALLBACK_THREAD/CALLBACK_FUNCTION/CALLBACK_WINDOW),测试程序接收到通知信息后,将会去计算所耗费的时间并和标准时间做对比 |
|
3003 |
Capture Buffer Freed During Capture |
录音过程中释放内存 |
开始录音后释放内存,等待录音结束并记录所耗费的时间,并和标准时间做对比(之前的项目上出现过Wave Driver中发生Data Abort的情况,类似的其它项目却没有出现,原因不详) |
|
3006 |
Capture Initial Latency |
测试录音耗时(WAVE_FORMAT_1M08) |
依次调用wavein api以WAVE_FORMAT_1M08格式录制4毫秒数据量大小的数据,记录时间并和标准时间做对比 |
|
3007 |
Capture Initial Latencies Series |
测试录音耗时(所有格式) |
1. 测试所有格式下的录音耗时,包括WAVE_FORMAT_1M08到WAVE_FORMAT_48000S16间的所有格式,并和标准的值做比较,在对每一种录音格式进行测试的时候,会以2^n(n介于1和12之间)毫秒为录音时常; |
|
3008 |
Capture Multiple Streams |
多个stream同时录音 |
1.线程中调用waveInPrepareHeader成功后开始计时,然后调用waveInAddBuffer和waveInStart开始录音(录音时长为2秒),录音结束后记录时间并计算录音所耗费的时间,最后和标准的时长做对比; |
|
4000 |
Test Volume Control |
测试混音器音量控制 |
测试混音器音量控制,目前的项目上不支持 |
|
4001 |
Test waveOutSetVolume & waveOutGetVolume |
测试音量调整函数waveOutSetVolume |
1. 函数waveOutSetVolume定义如下: |
|
5000 |
Test Power Down/Up with PlaySound Synchronus |
播音时改变音频设备状态(PlaySound(…,SND_SYNC)) |
1. 调用PlaySound(…,SND_SYNC)播音; |
|
5001 |
Test Power Down/Up with PlaySound Asynchronus |
|