如何使用QT将udp音频流录制到WAV文件

时间:2019-10-09 15:20:54

标签: qt udp streaming audio-streaming audio-recording

我正在使用QT,并且希望将udp流记录到wav文件中。我无法使用QAudioRecorder库,因为我正在接收数据样本并且没有通过输入设备接收音频

在将数据和标头写入音频文件后,我似乎无法播放音频文件。

这是我的标题:

library(dplyr)
library(lubridate)
d %>%
    mutate(Date = ymd(Date)) %>%
    group_by(tmp1 = year(Date), tmp2 = month(Date)) %>%
    mutate(ID = paste0(year(Date),
                       sprintf("%02d", month(Date)),
                       sprintf("%05d", row_number()))) %>%
    ungroup() %>%
    select(-tmp1, -tmp2)
#> # A tibble: 7 x 3
#>   Date       Name  ID         
#>   <date>     <chr> <chr>      
#> 1 2018-03-31 ABC   20180300001
#> 2 2018-03-31 XYZ   20180300002
#> 3 2018-03-31 OPR   20180300003
#> 4 2019-01-31 ABC   20190100001
#> 5 2019-01-31 RTE   20190100002
#> 6 2019-10-31 YUD   20191000001
#> 7 2018-03-31 RYT   20180300004

接收到的写入文件udp数据包:recorder.cpp

header.riff[0] = 'R';
header.riff[1] = 'I';
header.riff[2] = 'F';
header.riff[3] = 'F';
header.size_of_payload = 0;
header.wave[0] = 'W';
header.wave[1] = 'A';
header.wave[2] = 'V';
header.wave[3] = 'E';
header.fmt[0] = 'F';
header.fmt[1] = 'M';
header.fmt[2] = 'T';
header.fmt[3] = ''; // trailing NULL
header.len_of_format = 0x10;
header.format_tag = 0x01;
header.channels = 0x01;
header.sample_rate = 8000;
header.bytes_per_second = 8000;
header.bytes_per_sample = 1;
header.bits_per_sample = 8;
header.data_ident[0] = 'd';
header.data_ident[1] = 'a';
header.data_ident[2] = 't';
header.data_ident[3] = 'a';
header.len_of_data = filesize - 44;

0 个答案:

没有答案