记录一下自己的在使用ffmpeg sdl2去实现麦克风测试的心得;
代码基本上就是按照百度的ffmpeg播放本地音乐实现扬声器测试改的;
扬声器测得是时候,我百度了一圈都没有什么几行代码就可以实现的,基本就是调用微软未公布的一个类,自己复制下IPolicyConfig.h这个类的代码,去做这些事情;
回归正题,麦克风测试,最重要的就是我在测试的过程中,麦克风突然被人拔了会不会有问题;
很显然,闪退!!这是最早用windowsapi的wave等库去原生实现的时候的一个致命问题;
可能大佬可以分析问题,快速解决,但是网上没有类似的代码可以去参考;
SDL2的麦克风测试的问题就是,麦克风掉线之后,SDL2自己陷入的死循环,就会卡主主线程;
这个时候,需要玩家实现一个获取麦克风设备列表的功能;开一个子线程去定时获取麦克风列表,判断当前正在进行测试的麦克风是否掉线了;如果掉线了需要去子线程关闭SDL库的音频播放;
(具体的代码实现,我就不放了,等我项目做完了,我再修改放出来~啦啦啦啦气死你)