![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Flash из TMemoryStream [D7, XP]
Uzver32.dll © (2006-08-24 17:58:00)Уважаемые Мастера
Помогите решить мою проблему:
Требуется воспроизвести Flash ролик непосредственно из TMemoryStream,
не используя при этом верменные файлы.
Ситуация такая:
В директории моей программы хранятся зашифрованые SWF-файлы, при запуске
программа загружает их в TMemoryStream и расшифровывает. Теперь только нужно
загрузить их в TShockwaveFlashEx(бесплатный компонент для отображения Flash)
Да только нет у него ничего похожего на LoadFromStream, только свойство Movie,
в котором указывается путь к файлу.
После продолжительных поисков в сети я узнал, что есть платный компонент "Flash in BOX",
который имеет вышеуказанный метод, причем, как уверяют разработчики он не использует
временные файлы. Как это им удалось - ума не приложу - неужто они написали свой флеш плеер
и не используют flash.ocx? Врятли. Кроме того у TShockwaveFlashEx есть также свойство
embded movie, с помощью которого можно включить ролик в исполняемый файл - в моём случае
не подходит, но это говорит о том, что стандартный флеш плеер умеет читать ролики из памяти.
Вот такие дела.
Спасибо.
С уважением Евгений.
PSPF2003 (2006-08-24 18:52:00) [1]Вот функцию нашел как и потока грузить
function TForm1.LoadFromStream(const AStream: TStream): HRESULT;
begin
AStream.seek(0, 0);
Result := (WebBrowser1.Document as
IPersistStreamInit).Load(TStreamAdapter.Create(AStream));
end;
а вот из res
procedure TForm1.LoadHTMLResource;
var
Flags, TargetFrameName, PostData, Headers: OleVariant;
begin
WebBrowser1.Navigate('res://' + Application.ExeName + '/myhtml',
Flags, TargetFrameName, PostData, Headers)
end;
Создайте файл ресурса (*.rc) со следующими строками и откомпилируйте его при помощи brcc32.exe:
MYHTML 23 ".\html\myhtml.htm"
MOREHTML 23 ".\html\morehtml.htm"
Отредактируйте файл проекта, чтобы он выглядел примерно так:
{$R *.RES}
{$R HTML.RES} //где html.rc будет скомпилирован в html.res
PSPF2003 (2006-08-24 18:48:00) [2]А TWebBrowser разве флеш не показывает?