我正在考虑的一个选项是在播放每个声音文件后调用snd_pcm_drain,然后在播放下一个文件时调用snd_pcm_prepare.这会是一个很好的解决方案吗?或者效率低下?
更新:“排水解决方案”似乎有效,但效率不高.这些调用需要一段时间才能返回(可能会清理一些资源)并增加程序的延迟.当我连续播放许多小文件时,延迟最佳.每个文件之间可以听到几秒钟的沉默;这是snd_pcm_drain正在执行.
解决方法 可能不正确(我在这个领域做了很少的工作),但是从这里查看ALSA文档: http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html看起来snd_pcm_status_t保存状态信息,该信息应该指示流当前是否正在处理数据.
总结以上是内存溢出为你收集整理的c – ALSA:如何判断声音播放完毕的时间全部内容,希望文章能够帮你解决c – ALSA:如何判断声音播放完毕的时间所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)