播放文件音频

Play file audio

我有一个录音的原始数据文件,每个样本存储为 16 位短片。我想通过 Redhawk 播放这个文件。

我有一个 file_source_s 像这样连接到 AudioSink:

我希望在启动这些组件时能听到扬声器的声音。但是当我启动两个组件时,我听不到任何声音。

以下是 file_source_s 属性值:

我知道:

AudioSink 组件使用来自接收到的 SRI(信号相关信息)的信息来确定音频的采样率。这是从 AudioSink 组件的第 156 行看到的:

int sample_rate = static_cast<int>(rint(1.0/current_sri.xdelta));

它从下游组件接收 SRI,在本例中为 file_source_s。

组件 file_source_s 是 gnuhawk 组件包的一部分。 GNUHAWK 库提供了可以将 GNU Radio 模块集成到 REDHAWK 软件框架中的软件。由于 SRI 是一个 REDHAWK 构造并且不存在于 GNURADIO 中,因此它似乎没有 file_source_s 块通过属性收集足够的信息来表示音频文件的正确 xdelta / 采样率。

我建议使用像 DataReader 这样的纯 REDHAWK 组件,它接受 属性 采样率。