Срабатывает ветка с условием "if (LOWORD(mciStatusParms.dwReturn) != MIDI_MAPPER)" но файл потом воспроизводится нормально.
Проблема в том что когда я во время воспроизведения пытаюсь послать устройству команды MCI_SEEK, MCI_STOP и др. mciSendCommand возвращает код ошибки 12F "Выполнение данной команды для автоматически открываемого устройства невозможно. Дождитесь закрытия устройства и повторите попытку."
Подозреваю что дело в железе и драйверах.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
10.05.05 19:18: Перенесено модератором из 'WIN API' — Odi$$ey
Здравствуйте, Stanky, Вы писали:
>> Подозреваю что дело в железе и драйверах. >> S>А не лучше ли забыть про старый MCI?
Я искал сравнительно простой способ воспроизвести MIDI файл. Это нужно для звукового оформления программы. Подскажите, как это можно сделать по-другому? Желательно средствами WinAPI.
Здравствуйте, Stanky, Вы писали:
>> Подскажите, как это можно сделать по-другому? >> S>DirectShow!!! S>Для простого воспроизведения достаточно такого: S>
Здравствуйте, Stanky, Вы писали:
>> Теперь копаю в сторону DirectMusic. >> S>А это-то для чего?
DirectMusic, как я понял, специализируется на проигрывании midi и wav. Это именно то что мне надо. Если использовать объект по прямому назначению возможно удастся затратить меньше ресурсов чем с использованием DirectShow (во время запуска лихо бегут строчки подгружаемых dll в окне отладчика). В любом случае DirectX я не знаю совсем поэтому хотя бы попробую другую реализацию.
Здравствуйте, Stanky, Вы писали:
>> Подскажите, как это можно сделать по-другому? >> S>DirectShow!!! S>Для простого воспроизведения достаточно такого: S>
А как можно сделать то же самое с файлом который находится в ресурсах. Как достать файл из ресурсов я знаю, а как его потом воспризвести без временного сохранения на диск?
> Если использовать объект по прямому назначению возможно удастся затратить > меньше ресурсов чем с использованием DirectShow >
Но будет больше гемороя, так как ты сам говоришь, что DirectX не знаешь!!!
> В любом случае DirectX я не знаю совсем поэтому хотя бы попробую другую > реализацию. >
Не понял!!!
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
> Как достать файл из ресурсов я знаю, а как его потом воспризвести без > временного сохранения на диск? >
С DirectShow наверное никак, а вот с DirectMusic скорее всего способ есть, так как DirectShow — это обёртка над DirectDraw, DirectMusic!!!
P. S. Тебе лучше обратиться в форум мультимедиа — там такие вещи разбираются!!!
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Здравствуйте, Stanky, Вы писали:
>> Как достать файл из ресурсов я знаю, а как его потом воспризвести без >> временного сохранения на диск? >> S>С DirectShow наверное никак, а вот с DirectMusic скорее всего способ есть, так как DirectShow — это обёртка над DirectDraw, DirectMusic!!!
Интересно. Взял код проигрывания midi-файлов с помощью DirectMusic здесь. Вопреки моим ожиданиям он воспроизводит музыку совершенно по-другому. Иначе звучат инструмены и даже мелодия немного поменялась! Твой пример играет мидяшку вточности как Winamp и на слух это ИМХО лучший вариант.
S>P. S. Тебе лучше обратиться в форум мультимедиа — там такие вещи разбираются!!!