Wave Driver介绍-5(Waveform Audio Driver Test测试Case描述)
http://blog.csdn.net/daydayupfromnowon/article/details/6003500
因为要对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 |
播音时改变音频设备状态(PlaySound(…,SND_ASYNC)) |
1. 调用PlaySound(…,SND_ASYNC)播音; |
5002 |
Test Power Down/Up with sndPlaySound Synchronus |
播音时改变音频设备状态(sndPlaySound(…,SND_SYNC)) |
1. 调用sndPlaySound(…,SND_SYNC)播音; |
5003 |
Test Power Down/Up with sndPlaySound Asynchronus |
播音时改变音频设备状态(sndPlaySound(…,SND_ASYNC)) |
1. 调用sndPlaySound(…,SND_ASYNC)播音; |
5004 |
Test Power Down/Up with waveOutWrite |
播音时改变音频设备状态(waveOutOpen/waveOutPrepareHeader/waveOutWrite) |
1. 调用waveOutOpen/waveOutPrepareHeader/waveOutWrite播音; |
6000 |
Playback Mixing |
测试混音(播音) |
1. 调用Wave out API播音; |
6001 |
Capture Mixing |
测试混音(录音) |
与6000测试类似,只不过是测试录音 |
7000 |
International Audio File Names |
常见wav标准格式的文件并播放 |
1. 使用内建类CWaveFileEx创建wav文件并填充chunk; |
8000 |
Verify Handle Validation |
测试wave api |
调用各种各样的wave api进行测试,确定api可用 |
8001 |
Verify Device ID Validation |
测试Device ID |
1. 获取录音和播音设备个数; |
8002 |
Verify GUID Validation |
测试GUID |
调用waveOutGetProperty获取GUID,然后调用waveOutSetProperty写入 |
以上仅仅是个人理解,可能有错误。
Wave Driver介绍-5(Waveform Audio Driver Test测试Case描述)相关推荐
- [Linux Audio Driver] Android 10 machine driver probe函数分析
0. 背景 平台:Qualcomm 5G SM6350.android10.kernel version: msm-4.19. 本文重点分析machine driver里面的msm_asoc_mach ...
- [Linux Audio Driver] 高通平台内部MIC_BIAS简介
#更新 2020.05.10 我觉得我这个标题取的不是很妥当,为了表达对技术的敬畏之心,我将原标题 <一文搞懂内部MIC_BIAS>修改为<高通平台内部MIC_BIAS简介> ...
- 安装Realtek HD Audio Driver 失败 就是安装不上怎么办
之前重装系统一直好好的,前几天重装完,安装声卡驱动时,一直提示 安装realtek hd audio driver 失败 [error code:0x0000FF] 网上的办法都用了,系统再次重装都没 ...
- Microsoft uaa bus driver for high definition audio
Microsoft uaa bus driver for high definition audio 解决办法: 打上微软的HD Audio补丁就行了 KB888111.exe 下载1: http:/ ...
- Touch Driver介绍
Touch Driver介绍 一.相关知识介绍 1.Touch Driver的加载过程 GWES到[HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/TOUCH]的" ...
- [Linux Audio Driver] Qualcomm平台音频GMS认证器件要求
从GMS测试常见的fail项来明确其器件要求,常见的fail测试项主要是以下三个: 后面是分析,要看结论的话直接拉到文末: 一:Audio Frequency Speaker Test 此测试使用外部 ...
- 笔记本电脑外放没声音,或外放有声音/插耳机没声音———Realtek High Definition Audio Driver安装
情况1:之前自己的电脑插入圆孔有线耳机,耳机没声音,当时直接在realtek官网下载64位,Windows10适配的Realtek High Definition Audio Driver,安装后耳机 ...
- [Linux Audio Driver] SM6350平台音频bring up ( 一 )
0. 背景 这个是高通5G平台,音频的内容改的比较多,比较直接的是platform.c就直接移动到vendor了:目前 高通那边的趋势还是把音频逐渐从kernel剥离,android 7/androi ...
- Linux SDIO WIFI Marvell8801/Marvell88w8801(六) --- Marvell Linux Wi-Fi driver介绍-WIFI插入卡槽内发生的事情
代码工程的GITHUB连接:点进进入GITHUB仓库 https://github.com/sj15712795029/stm32f1_marvell88w8801_marvell8801_wifi ...
最新文章
- An attempt has been made to start a new process before the current process has finished its
- 「BZOJ3226」[Sdoi2008]校门外的区间
- RabbitMQ学习及实践3--SpringMVC实现
- 数字图像处理应用matlab,数字图像处理与应用(MATLAB版)
- POJ 1273 Drainage Ditches 最大流
- C#颜色和名称样式对照表
- SpaceX再获美国宇航局价值1.525亿美元合同
- 向Spark集群提交任务
- d3js fill与class优先级
- 阶乘的传统流程图 c语言,C语言算法与流程图.ppt
- matplotlib 使用简明教程(三)-一些专业图表简介
- 高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)
- linux开启cups服务,Linux中cups打印服务实战设置
- 程序员怎么提高代码编写的速度?
- amigo幸运字符什么意思_无线网络ssid是什么意思(全面解析SSID涵义)
- openssl 加密解密 指令_openssl命令aes加密和解密
- [Bug] Spring相关bug收集
- 某程序员发现 CSDN官方“漏洞”,立省¥10000+,抓紧薅吧
- Android原生拼音输入法分析
- 创业者如何克服困难,控制焦虑情绪,走向成功
热门文章
- html 无刷新显示公告,用javascript实现页面无刷新更新数据_js
- html语言图像,[多选] HTML语言能描述图像的()
- yslow的安装(注意兼容性)
- Springboot项目使用smart-doc+Apifox 便捷生成管理接口文档
- 0002 计算长方形周长和面积
- 英语话题 Zodiac
- php 框架效率测试,关于DoitPHP,ThinkPHP,Yii,CI,DooPHP等框架的性能对比测试
- fanuc机器人SCN_FANUC福尼斯以太网通讯.pdf
- [ZT] 戏言面向对象
- springboot蓝天幼儿园管理系统、