对audio代码进行压力测试的时候,我们往往会循环播放一首音乐。实际上,无论是aplay还是tinyplay来循环播放音乐,两个循环之间,都伴随着音频流的关闭和再次打开,对应到底层,也就是DMA与I2S/SPDIF的关闭和再次开启。这实际上是起不到太多压力测试DMA与I2S/SPDIF的作用的。
最近做机顶盒芯片,发现电视的音频输出,是和手机或PAD不一样的,理论上讲,电视可以做到播放一个台N多长时间,而这N多长时间内,是没有音频流的关闭和再触发的。在芯片还没有做成机顶盒产品之前,我该如何模拟这N多长的时间呢?
我需要做一个N多长时间的音乐。但是N如果是几十个小时,我怎么可能做出这么长时间的音乐?
这里给出一个模拟无限长度音乐的方法:
用tinyplay播放音乐,本质上是一段一段的读音乐文件:
如果在读到文件的最后时,将文件指针复位到文件开头,就可以让这首音乐文件无限循环的读下去:
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/u012769691/article/details/47104469