HRESULT: 0xC00D5212 при попытке воспроизвести wav-файл в формате mp2 с библиотекой NAudio - PullRequest
0 голосов
/ 07 апреля 2020

Я пишу простой аудиоплеер с поддержкой управления ASIO и MIDI, который будет использоваться местной радиостанцией. Я использую библиотеку NAudio. Станция использует какое-то странное древнее программное обеспечение, которое использует wav-файлы в кодировке mp2. Сам файл прекрасно воспроизводится на всех windows версиях в WMP или VL C Проигрыватели, он также прекрасно воспроизводится на моем проигрывателе на Windows 10, но на многих компьютерах все еще работает Windows 7, и когда я пытаюсь воспроизвести файл на windows 7, программа выдает исключение:

System.Runtime.InteropServices.COMException (0xC00D5212): Výjimka na základě hodnoty HRESULT: 0xC00D5212
   v NAudio.MediaFoundation.IMFSourceReader.SetCurrentMediaType(Int32 dwStreamIndex, IntPtr pdwReserved, IMFMediaType pMediaType)
   v NAudio.Wave.MediaFoundationReader.CreateReader(MediaFoundationReaderSettings settings)
   v NAudio.Wave.MediaFoundationReader.Init(MediaFoundationReaderSettings initialSettings)
   v NAudio.Wave.MediaFoundationReader..ctor(String file)

, которое я считаю "пропущенным кодом c", у кого-нибудь из вас есть идеи, как обойти это? Я использую MediaFoundationReader () в библиотеке NAudio.

1 Ответ

0 голосов
/ 09 апреля 2020

Кажется, что трудно получить код MP2 с поддержкой MF c для Widows 7. Я закончил тем, что использовал библиотеку NLayer и отредактировал тип AudioFileReader в библиотеке NAudio, чтобы он мог понимать файл MP2 WAV.

...