Использую динамическое определение содержимого TWebBrowser:
var
v: Variant;
HTMLDocument: IHTMLDocument2;
begin
HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := HTMLString; // содержит HTML-текст
HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
HTMLDocument.Close;
...
end;
Страничка с текстом прилагаю. Однако звук не проигрывается. Если же указать HTML-файл TWebBrowser.Navigate('d:\somepage.htm'), то звук проигрывается. Как же заставить его проиграть звук при динамическом определении HTML-страницы?
TWebBrowser - открыть страничку со звуком
Втр, 01/02/2011 - 14:50
#1
TWebBrowser - открыть страничку со звуком
Втр, 01/02/2011 - 19:35
#2
А вы уверены, что IHTMLDocument2 умеет воспроизводить звук?
Если его применение необходимо, попробуйте с его помощью получить html, а потом задействовать TWebBrowser
Втр, 01/02/2011 - 22:58
#4
Вот эта тема не поможет?
http://help.sander.su/content/vyvesti-html-kod-kak-webbrowser
Втр, 01/02/2011 - 23:27
#5
Завтра попробую...
Ср, 02/02/2011 - 10:29
#6
Это помогло, но частично:
- Не выполняются скрипты;
- Звук все равно не проигрывается, если изначально TWebBrowser был открыт со страницы "about:blank".
WebBrowser1.OleObject.Document.Body.InnerHtml:=Str ; выводить звук. Может есть более изящное решение, без подгрузки первоначально страницы?ЗЫ
Судя по всему при "about:blank" звук не проигрывается потому, что браузер не знает путь, откуда его брать. Если же изначально открыта конкретная страница, то браузер берет звук. файл из папки загруженной страницы.


Нет, не уверен.
Опишу задачу в целом: На сервере в БД лежит содержимое HTML-страницы. Он посылает клиенту команду показать страничку. Клиент делает всплывающее окно, как в аське, и показывает полученную от сервреа HTML-страницу. В момент показа этой страницы должен быть проигран звук, как и указано в HTML-тексте. Как же заставить TWebBrowser полноценно открыть страничку, которую я загружаю в него динамически?