Skip to Content

TWebBrowser - открыть страничку со звуком

6 всего / 0 новых
Последнее
sann-x
Молчун
Сообщения: 4
Бонусы: 0
Группы: Нет
Блог: читать!
TWebBrowser - открыть страничку со звуком

Использую динамическое определение содержимого 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-страницы?

Сандер
Администратор
Сандер аватар
ГуруМодератор
Сообщения: 1944
Бонусы: 617
Пол: Мужской
Блог: читать!

А вы уверены, что IHTMLDocument2 умеет воспроизводить звук?
Если его применение необходимо, попробуйте с его помощью получить html, а потом задействовать TWebBrowser

sann-x
Молчун
Сообщения: 4
Бонусы: 0
Группы: Нет
Блог: читать!

Сообщение от Сандер:
А вы уверены, что IHTMLDocument2 умеет воспроизводить звук?

Нет, не уверен.

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

Сандер
Администратор
Сандер аватар
ГуруМодератор
Сообщения: 1944
Бонусы: 617
Пол: Мужской
Блог: читать!

Вот эта тема не поможет?
http://help.sander.su/content/vyvesti-html-kod-kak-webbrowser

sann-x
Молчун
Сообщения: 4
Бонусы: 0
Группы: Нет
Блог: читать!

Завтра попробую...

sann-x
Молчун
Сообщения: 4
Бонусы: 0
Группы: Нет
Блог: читать!

Это помогло, но частично:

  1. Не выполняются скрипты;
  2. Звук все равно не проигрывается, если изначально TWebBrowser был открыт со страницы "about:blank".
Поэтому пока вижу такой выход: создать пустую страничку. При запуске в TWebBrowser открывать эту страничку, а потом с помощью WebBrowser1.OleObject.Document.Body.InnerHtml:=Str ; выводить звук. Может есть более изящное решение, без подгрузки первоначально страницы?
ЗЫ
Судя по всему при "about:blank" звук не проигрывается потому, что браузер не знает путь, откуда его брать. Если же изначально открыта конкретная страница, то браузер берет звук. файл из папки загруженной страницы.

RSS-материал


Активные пользователи

ПользовательБонусы
Сандер617
Nefertity247
Tori242
robot201
Chief183
STAER140
faiters139
Mavarik121
akkadites94
staiki94