none
Приложение мультимедиа. Проблемы при использовании функции MCIWndCreate RRS feed

  • Общие обсуждения

  • Работаю в Visual Studio 2008 на Си++.

    У меня задание по учёбе - написать программу - плеер видеофайлов AVI. Решил построить её на функции MCIWndCreate. Даже готовый пример в книге нашёл. Он мне понравился - код краткий и простой. Но дело не пошло.

    Сначала программа даже собираться не хотела. Появлялось сообщение, что _MCIWndCreate не найдена. После того, как добавил в конфигурации проекта в свойстве "Дополнительные зависимости" библиотеку Vfw32.lib программа без нареканий собралась.

    Однако, программа не делает того, что от неё требуется. В области просмотра диагональная разлиновка, а в её верхней части надпись "Вывод видеоизображений недоступен, не найдена программа распаковки 'vids:".

    Код программы - ниже:

    #include <windows.h> 
    
    extern "C" {
    
    #include <vfw.h>
    
     }
    
    #include <Tchar.h>
    
    extern "C" HWND MCIWndCreate(HWND, HINSTANCE, DWORD, LPCWSTR);
    
    const wchar_t szAppName[] = _T("MCI_window"); 
    
     
    
    HWND hwnd;
      
    int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) 
    {
    
    	MSG msg;
    
    	hwnd = MCIWndCreate(NULL, hInstance, MCIWNDF_SHOWNAME | MCIWNDF_SHOWMODE | WS_OVERLAPPEDWINDOW | WS_VISIBLE, NULL);
    
    	if(hwnd == NULL) return (-1);
    
    	SetWindowText(hwnd, (LPCWSTR)szAppName);
    
    	while(GetMessage(&msg, NULL, 0, 0))
    
    	{
    
    		TranslateMessage(&msg);
    
    		DispatchMessage(&msg);
    
    		if(!IsWindow(hwnd)) PostQuitMessage(0);
    
    	}
    
    	return msg.wParam;
    
    }
    
    
    

     В чём проблема и как её решить?

    А то я уже подумываю оставить MCIWndCreate в покое и собрать программу, работающую, например, через интерфейс управляющих строк MCI и mciSendString?

    Пожалуйста помогите. Хочется поскорее выполнить задание.


    Михаил
    • Изменено Мишуля 30 октября 2011 г. 1:25
    • Перемещено Abolmasov Dmitry 1 ноября 2011 г. 5:47 (От:Настольные ПК)
    • Изменен тип Abolmasov Dmitry 14 ноября 2011 г. 6:10
    28 октября 2011 г. 6:07

Все ответы

  • Здравсвтуйте.

    Пожалуйста, не нужно создавать одинаковые темы в разных разделах, одной темы вполне достаточно. Создавая новые топики - вы не ускорите процесс поиска решения. Этот топик будет оставлен и перенесен в раздел Низкоуровневое программирование - Настольные ПК, где он и должен был быть создан с самого начала. Остальные дублирующие темы будут удалены.

    Спасибо.


    Для связи [mail]
    28 октября 2011 г. 7:22
  • Здравствуйте!

    Принимаю Ваши условия. Однако в разделе " Низкоуровневое программирование - Настольные ПК" я своей темы пока не увидел.

    Вообще, в моём понимании низкоуровневое программирование - это написание кода, работающего в режиме ядра системы: драйверов, руткитов, антивирусов и тому подобного или, хотя бы, программирование на ассемблере. Здесь же - простой плеер.

    С уважением, Михаил

    • Изменено Мишуля 30 октября 2011 г. 1:38
    30 октября 2011 г. 1:37