Воспроизведение волнового файла заканчивается немедленно (C ++, Windows)

У меня следующая ситуация. На машине есть карта Fritz ISDN . Существует процесс, который отвечает за воспроизведение определенного волнового файла на выходе устройства ( соединение ISDN устанавливается при запуске и выполняется постоянно). Сценарий прост, когда необходимо, чтобы процесс вызывал waveOutWrite()ранее открытое волновое устройство (все, конечно, инициализировалось без проблем), а функция обратного вызова ожидает, когда MM_WOM_DONEmsg узнает, что воспроизведение завершено.

Однако через несколько дней (ничего не изменилось ни в процессе, ни в машине) MM_WOM_DONEсообщение пришло сразу после звонка, waveOutWrite()хотя волна длится пару секунд. Снова об ошибке не сообщается, похоже, файл был воспроизведен, но имел нулевую длину (что не так). Я также уверен, что waveOutReset()мой процесс не вызвал его (это также инициировало бы отправку упомянутого сообщения). Я уже имел обыкновение иметь некоторые странные проблемы в прошлом, которые решались просто путем переустановки драйверов TAPI . На этот раз по какой-то причине мне сложно выполнить это еще раз, и я пытаюсь использовать более аналитический подход :). Любые предложения, что может вызвать такое поведение? Может быть, что-то на другом конце линии ISDN ?

13.08.2008 10:04:40
3 ОТВЕТА

У меня нет времени на Google слишком много для этого, но я знаю, что Ларри Остерман или Рэймонд Чен писали в блогах о подобной ситуации.

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

2
14.08.2008 14:43:52
Billy ONeal 13.04.2010 00:42:34

Каково возвращаемое значение, когда звук не воспроизводится? Если вы получаете MMSYSERR_NOERROR, это указывает на то, что драйвер неправильно сообщает ОС, что буфер был обработан.

Изменился ли сам файл WAV? Эта запись в блоге указывает на то, что с метаданными проводится довольно глубокая проверка.

0
18.08.2008 11:33:56

Основываясь на вашем описании, вы играете асинхронно. Вы уверены, что резервная память для файла wav не очищалась в это время?

3
24.09.2008 19:38:03