【问题标题】:How to determine the last time the audio device was playing a file?如何确定音频设备上次播放文件的时间?
【发布时间】:2014-04-04 08:24:03
【问题描述】:

我想使用 C 来获取音板上次播放文件的时间。有没有办法我可以做到这一点?

【问题讨论】:

  • 你为什么需要知道这些?
  • 我想制作一个应用程序,当我花太多时间不听音乐时会发出警告。而且我需要能够分辨出声音何时播放。

标签: c ubuntu audio alsa playing


【解决方案1】:

我认为这是不可能的,因为 ALSA(Advanced Linux Sound Architecture) 只是为声卡提供设备驱动程序的内核组件。但我不知道是否某些用户空间 API 和库像(alsa-ustils)可以做到这一点!,我建议最好检查声音播放器应用程序(VLC 等)日志?!

【讨论】:

    【解决方案2】:

    您使用的任何组件(工具、库、声音服务器、驱动程序、内核)都不会记录播放声音的时间。

    如果您使用一种特定的工具来播放声音,您可以对其进行修改以记录时间。

    否则,您必须主动监控声音设备的当前状态。 (使用 ALSA,您可以投票 /proc/asound/card*/pcm*/sub*/status。)

    【讨论】:

    • 是的。这是我最想要的。我设法从状态文件中获取了一些信息。现在我只需要学习从中获取有关声音是否正在播放的信息。一旦我这样做了,我就把它标记为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    相关资源
    最近更新 更多