Как мне узнать, где мои WAV-данные начинаются в WAV-файле, чтобы я мог прочитать XML перед этим? - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть несколько аудиофайлов WAV с диктофона, которые имеют небольшой специальный формат.Файлы имеют заголовок, содержащий данные XML, указывающие время начала и окончания файла.Я пытался использовать XmlReader, но в начале файла он содержит одну строку данных, а затем я получаю сообщение об ошибке.

RIFF .. one line of binary data ..

<?xml version="1.0" encoding="utf-16"?>

<FileData>
  <StartTime>2019-09-16 15:27:35</StartTime>
  <StopTime>2019-09-16 15:28:32</StopTime>
</FileData>

...audio data ...

Я создаю небольшую программу, которая сможет читать данные XML иззаголовок файла, а затем отсортировать время начала и сделать его строкой, которую я могу использовать в качестве значения в программе.Я, например, позже в программе переименую файл во время запуска.Файлы, как я уже сказал, WAV, но эти специальные данные XML добавляются первыми в файл.

1 Ответ

2 голосов
/ 19 сентября 2019

Ваши данные WAV должны начинаться с байтов 0x52 0x49 0x46 0x46 ("RIFF").Итак, начните с чтения файла и поиска 0xA ИЛИ 0xD, за которым следуют 4 байта выше.Это должно быть началом ваших данных WAV.Согласно вашему описанию, все, что предшествует началу данных WAV, должно быть строкой XML.Вы можете прочитать это и загрузить в XmlDocument или XmlReader - какой API вам подойдет.

...