Вопрос № 122678: Здравствуйте!
У меня в потоке (TMemoryStream) храниться видео, которое, соответственно, нужно воспроизвести. В TMediaPlayer требуется только имя файла. Как можно воспроизвести видео без создания временных файлов? Может подскажите какие-нибудь дру...
Вопрос № 122.678
Здравствуйте!
У меня в потоке (TMemoryStream) храниться видео, которое, соответственно, нужно воспроизвести. В TMediaPlayer требуется только имя файла. Как можно воспроизвести видео без создания временных файлов? Может подскажите какие-нибудь другие компоненты..
Спасибо каждому, кто поможет!
Отправлен: 11.02.2008, 15:12
Вопрос задал: Troyan (статус: Студент)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: PavelGM
Здравствуйте, Troyan!
Вариант 1. Пишите DirectShow фильтр на базе ASYNC filter из DirectX SDK версии до 9.0с (в последнем SDK он куда-то исчез) - он умеет "засасывать" файлы в память - переделываете на свой поток из памяти. Но тут два "камня" - писать придется на C++, можно в DLL запихнуть и использовать из Дельфи. И второй - WMV файлы так работать скорее всего не захотят.
Вариант 2. Берете исходники MPlayer или VLC и адаптируете под свой проект (очень нехилая задачка с первым, со вторым может и попроще, говорят в последних версиях они код в DLL вынесли).
Ответ отправил: PavelGM (статус: Студент)
Ответ отправлен: 12.02.2008, 01:09 Оценка за ответ: 5