Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2017, 14:30   #1
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию почему звук не выходит на dirextshow

почему звук не выходит на dirextshow ?
ролик показывается но звука нет

Код:
var
  Form1: TForm1;
   MyGraphBuilder   : IGraphBuilder     = nil; //сам граф
  MyMediaControl    : IMediaControl         = nil; //управление графом
  pMediaEvent        : IMediaEvent          = nil; //обработчик событий
  VideoWindow       : IVideoWindow          = nil; //задает окно для вывода
  pMediaPosition     : IMediaPosition       = nil; //позиция проигрывания
  pBasicAudio         : IBasicAudio            = nil;

procedure TForm1.Button2Click(Sender: TObject);
begin
CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, MyGraphBuilder);
   MyGraphBuilder.QueryInterface(IID_IMediaControl, MyMediaControl);
   MyGraphBuilder.QueryInterface(IID_IMediaEvent, pMediaEvent);
   MyGraphBuilder.QueryInterface(IID_IVideoWindow, VideoWindow);
   MyGraphBuilder.QueryInterface(IBasicAudio, pBasicAudio);
   MyGraphBuilder.RenderFile('dir\je.mp4', nil);
   VideoWindow.put_Owner(Panel1.Handle);
   VideoWindow.Put_WindowStyle(WS_CHILD OR WS_CLIPSIBLINGS);//Стиль окна
   VideoWindow.put_MessageDrain(Panel1.Handle);
   VideoWindow.SetWindowPosition(0,0,Panel1.ClientRect.Right,Panel1.ClientRect.Bottom); 
   MyMediaControl.Run;
  
end;

Последний раз редактировалось alman12; 31.07.2017 в 14:36.
alman12 вне форума Ответить с цитированием
Старый 03.08.2017, 01:11   #2
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

никто не может помочь ?
alman12 вне форума Ответить с цитированием
Старый 03.08.2017, 04:50   #3
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от alman12 Посмотреть сообщение
никто не может помочь ?
Ну вот и что в DirectShow можно сказать по коду?
Нужно смотреть, какой граф построил RenderFile.
Потом смотреть, какой построил какой-нибудь LightAlloy.
Потом долго думать..
Black Fregat вне форума Ответить с цитированием
Старый 05.08.2017, 23:12   #4
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

как посмотреть какой граф построил LightAlloy ?
alman12 вне форума Ответить с цитированием
Старый 06.08.2017, 03:14   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Внутренним способом, кажется, F9. Во всяком случае можно правой кнопкой на шестерёнку, там в меню есть. Но мне помнится, GraphEdit к нему тоже может подключится, хотя детали сейчас не вспомню, увы

Да, там в настройках нужно выбрать "использовать фильтры, установленные в системе", иначе он что-то своё норовит подгрузить
Black Fregat вне форума Ответить с цитированием
Старый 08.08.2017, 02:51   #6
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

звук есть я проверил на других форматах видео но на mp4 файлах видео воспроизводится без звука толка изображения появляется без звука
alman12 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Delphi. Почему выходит ошибка pakusya Помощь студентам 2 11.05.2013 13:38
почему выходит ошибка?! Грета Помощь студентам 2 23.12.2011 21:57
Почему при написании dll без rtl не выходит экспорт функции?? dolphin705 Общие вопросы Delphi 13 02.02.2011 18:48
Почему когда integer cтановиться =100001,выходит ошибка Дима я Общие вопросы Delphi 8 21.12.2009 11:33
Звук из динамиков выходит в микрофон. impulse Компьютерное железо 1 29.03.2009 19:00