linux应用程序调用aplay,linux - 在播放整首歌曲之前,aplay退出 - 堆栈内存溢出

在嵌入式Linux系统中,使用aplay播放音频时遇到问题,歌曲不能完整播放。歌曲信息为48kHz,16位,双声道。尽管歌曲应持续5秒,但aplay在约1秒时就发送了关闭音频接口的ioctl调用。在Ubuntu上,同样的歌曲能正常播放。寻求理解和解决aplay提前关闭的原因。
摘要由CSDN通过智能技术生成

问题陈述:当作为文件转储时,我没有在输出中收到整首歌曲(我无法通过插孔听到歌曲,但我可以转储文件内容)。

摘录:我是ALSA编程的新手,我有一个嵌入式电路板,命令集有限。 我已经浏览了这里的链接: 需要ALSA教程,但我无法弄清楚这个时间相关的问题。

设定:

OS: linux 4.14.70

aplay: version 1.1.4 by Jaroslav Kysela

Advanced Linux Sound Architecture Driver Version k4.14.70.

所涉及的音频盒具有单独的硬件和独立的DSP,用于独立处理

信息流:Linux - > DSP核心

输入歌曲传送到linux内核,将歌曲加载到DMA区域 - >将DMA读入DSP使用的独立DMA环形缓冲区,并将其写入I2S输出路径到文件中

我可以看到歌曲的大小是960000字节,采样率为48000,S16_LE formwat,2通道,16位位深度 - >计算如下所示 - 根据页面“ https://www.colincrawley。 com / audio-duration-calculator / “

Bit Rate: 1536 kbps

Duration:

0 Hours : 0 Minutes : 5 Seconds . 34 Milliseconds

当我放入日志时,我的DSP内核只处理大约一段时间的歌曲。 在“aplay”应用程序发送ioctl调用以关闭linux上的音频接口之前1秒。

我的问题是:

aplay如何理解时间? 在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值