Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
218 / 50 / 52
Регистрация: 15.01.2013
Сообщений: 295
1

Нет ни картинки ни звука при воспроизведении avi файла

17.02.2014, 17:12. Показов 815. Ответов 2
Метки нет (Все метки)

Нету ни картинки ни звука при воспроизведении avi файла. Проверено на Windows XP, 7, 8.1. Системы полностью чистые. Как решить проблему?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    if FAILED (CoInitialize(NULL)) return;
if FAILED (CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
    IID_IGraphBuilder, (void * *)&MyGraphBuilder)) return;
if FAILED(MyGraphBuilder->QueryInterface(IID_IMediaControl,
    (void * *)&MyMediaControl)) return;
if FAILED(MyGraphBuilder->QueryInterface(IID_IVideoWindow,
    (void * *)&MyVideoWindow)) return;
if FAILED(MyGraphBuilder->QueryInterface(IID_IMediaPosition,
    (void * *)&MyMediaPosition)) return;
MyGraphBuilder->RenderFile(L"Вопрос 01.avi", NULL);
double *pDuration;
MyMediaPosition->get_Duration(pDuration);
Timer2->Interval = RoundTo(*pDuration,0) * 1000;
Timer2->Enabled = true;
MyVideoWindow->put_Owner((OAHWND)hWnd);
MyVideoWindow->put_WindowStyle(WS_CHILD);
MyVideoWindow->SetWindowPosition(0, 0, Form6->ClientHeight,
    Form6->ClientWidth);
MyMediaControl->Run();
CoUninitialize();
А вот такой код работает, по крайней мере на Windows 8.1

C++
1
2
3
4
5
6
7
8
9
10
11
12
IGraphBuilder *MyGraphBuilder = NULL;
    IMediaControl *MyMediaControl = NULL;
    try
    {
        CoInitialize(NULL);
        CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
            IID_IGraphBuilder, (void **)&MyGraphBuilder);
        MyGraphBuilder->RenderFile(L"s.avi", NULL);
        MyGraphBuilder->QueryInterface(IID_IMediaControl,
            (void**)&MyMediaControl);
        MyMediaControl->Run();
        CoUninitialize();
Добавлено через 8 часов 33 минуты
Проблема обнаружилась в этой строке:
C++
1
MyGraphBuilder->RenderFile(L"Вопрос 01.avi", NULL);
Если в коде указывать имя видео то все воспроизводит отлично. Но если вместо имени использовать переменную, типа:
C++
1
2
3
AnsiString p;
p = "Вопрос 01.avi";
MyGraphBuilder->RenderFile(WideChar(p, NULL), NULL);
то ни картинки ни видео.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2014, 17:12
Ответы с готовыми решениями:

При воспроизведении видео avi нет голосов
В видео слышно все фоновые звуки, музыка, шум, а голосов нет. Обновила кодеки, посмотрела настройки...

При воспроизведении медиафайлов нет звука. В хроме звук есть.
Доброго времени суток! Такая проблема: уже не первый раз сталкиваюсь с ситуацией, что перестаёт...

При запуске файлов avi нет звука
При запуске файлов avi нет звука в стандартном плеере, хотя звук на ноуте есть, и файлы mp3...

Camtasia studio, при сохранении в avi нет звука
Подскажите в чём проблема,при записи с монитора и сохранении в ави нет звука.

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30899 / 20215 / 7882
Регистрация: 22.10.2011
Сообщений: 35,097
Записей в блоге: 6
17.02.2014, 17:57 2
Про операцию "Запятая" в С++ что-нибудь слышал? Скобку перенеси, чтобы она была перед запятой, и почувствуй разницу...

И вообще - зачем преобразовывать к WideChar? Достаточно
C++
1
2
String s = "s.avi";
MyGraphBuilder->RenderFile(s.w_str(), NULL);
0
218 / 50 / 52
Регистрация: 15.01.2013
Сообщений: 295
17.02.2014, 18:22  [ТС] 3
C++
1
E2316 'w_str' is not a member of 'AnsiString'
Добавлено через 10 минут
Проблема решена.
C++
1
2
AnsiString s = "s.avi";
GB->RenderFile(WideString(s), NULL);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2014, 18:22

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Нет звука при воспроизведении двд на внешнем двд приводе
здравствуйте купил LG GP08 lite внешний двд привод воткнул диск из комплекта, всё установилось,...

Нет звука в фильме формата avi
Нет звука в фильме формата avi. Кодеки все поставил, подскажите какой нибудь хороший проигрыватель?...

эхо при воспроизведении звука
У меня на ноуте TOSHIBA Satellite L670D появилось эхо... как в наушниках, так и в динамиках... ...

Ошибка при воспроизведении звука
Посмотрите на приложенный скриншот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.