Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при попытке воспроизвести видео BASS 
:(
    Опции темы
lollollollol
Дата 24.8.2017, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 12.3.2013

Репутация: нет
Всего: нет




Добрый день.

Есть необходимость из TStream отображать видео.
Выбрал для этой задачи BASS.

Есть вот такой код:



   
Код

   xVideo_Init(Form2.panel1.handle,0);
      if(chan<>0) then begin
        xVideo_StreamFree(chan);
        chan := 0;
        Stream.Free;
      end;
      Stream:= TMemoryStream.Create();
      try
        FileStream := TFileStream.Create(Global_FileStart, fmOpenRead);
      except
        Exit;
      end;
      Stream.LoadFromStream(FileStream);
      FileStream.Free;
      chan :=  xVideo_StreamCreateFileMem(Stream.Memory,Stream.Size,Form2.panel1.Handle,0);
      if chan<>0 then begin
        xVideo_ChannelSetWindow(chan,0,Form2.panel1.Handle);
        Form2.ProgressBar1.max:=round(xVideo_ChannelGetLength(chan,xVideo_POS_SEC));
        if(paused=true)then paused:=true;
        xVideo_ChannelPlay(chan);
      end;




Проблема в том, что этот код прекрасно работает на моём компьютере, а вот на соседнем, с той же виндовс 10, уже не работает.
Строка



Код

      chan :=  xVideo_StreamCreateFileMem(Stream.Memory,Stream.Size,Form2.panel1.Handle,0);



Возвращает 0.

Более того, я начинал с примера работы через DirectShow

Там есть такой код:


Код

    {вызываем RenderFile - граф фильтров строится автоматически}
    MyGraphBuilder.RenderFile('C:\Program Files\Borland\Delphi5\Demos\Coolstuf\cool.avi', nil);



На моём компе работает отлично, на втором - Не удаётся прорендерить файл.


Подскажите пожалуйста, кто работал с видео, в чём может быть проблема, куда копать? Может каких-то длл не хватает, или ещё чего?
Кто нибудь может сталкивался с такой проблемой?


От чего зависит успешное выполнение этих функций? В гугле и яндексе крайне мало информации по этому вопросу, а попыка вбить в гугл или яндекс строку "xVideo_StreamCreateFileMem" даёт вообще не тот результат, который ожидаешь...


PM MAIL   Вверх
Alexeis
Дата 24.8.2017, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Если DirectShow также не работает, то вероятнее всего на компе не хватает видео кодека для воспроизведения. Хотя это странно, проблем с кодеками давненько не бывало уже. 10ка должна содержать все самые распространенные .


--------------------
Vit вечная память.

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

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
lollollollol
Дата 24.8.2017, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 12.3.2013

Репутация: нет
Всего: нет



Я тоже подумал о кодеках, но любой другой плеер нормально работает, и отображает это видео.
Как можно отловить код или текс ошибки, чтоб понять причину?
PM MAIL   Вверх
Snowy
Дата 24.8.2017, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Ну для начала стоит посмотреть, загрузился ли файл в MemoryStream. А то может там пусто или фигня какая-то.
Получить ошибку можно при помощи  xVideo_ErrorGetCode()
PM MAIL   Вверх
lollollollol
Дата 24.8.2017, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 12.3.2013

Репутация: нет
Всего: нет



в мемори загрузился, беда именно в этих функциях. 

 MyGraphBuilder.RenderFile('C:\Program Files\Borland\Delphi5\Demos\Coolstuf\cool.avi', nil);

Что именно происходит в этой строке? (в uses просто ссылка на вызов функции из дллки)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1123 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.