【问题标题】:Can i set timestamp in ALSA?我可以在 ALSA 中设置时间戳吗?
【发布时间】:2015-08-31 21:13:35
【问题描述】:

我正在开发一个应用程序,我需要在其中根据时间戳播放音频数据包。为此,我需要告诉 alsa 驱动程序应该在哪个时间戳播放我的音频包。为此,我需要设置 ALSA 的时间戳。

我可以找到 alsa api 来获取播放音频包的时间戳 (snd_pcm_status_get_tstamp())。

void gettimestamp(snd_pcm_t *handle, snd_timestamp_t *timestamp)
{
    int err;
    snd_pcm_status_t *status;
    snd_pcm_status_alloca(&status);
    if ((err = snd_pcm_status(handle, status)) < 0) {
        printf("Stream status error: %s\n", snd_strerror(err));
        exit(0);
    }
    snd_pcm_status_get_tstamp (status, timestamp);
}

我找不到任何 api 来设置时间戳。

请帮忙!!

【问题讨论】:

    标签: audio timestamp alsa


    【解决方案1】:

    您找不到任何设置时间戳的 API,因为没有。

    【讨论】:

    • 这可能吗?我的意思是使用任何插件或其他东西。
    • 没有。这需要驱动程序和硬件支持。
    • 您需要对样本进行计数。
    猜你喜欢
    • 2019-10-21
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多