gpt4 book ai didi

c# - 使用带有 CefSharp 或 CefGlue 的 JavaScript 的本地或流式音频

转载 作者:可可西里 更新时间:2023-11-01 14:54:40 27 4
gpt4 key购买 nike

我一直在研究 CefSharpCefGlue并设法使 CefSharp 在 C# 应用程序中运行良好。

使用 CefSharp,我能够执行 JavaScript 并从内存中加载 HTML。例如,要执行一些 JavaScript,可以这样做:

view.ExecuteScript("setInterval(function(){alert(\"Hello\")},3000);");

加载一些 HTML:

model.LoadHtml(string.Format("<html><body><a href='{0}'>CefSharp Home</a></body></html>", home_url));

我知道我可以加载 <audio>从一些网络服务器加载一些文件。有没有办法从本地文件或通过 CefGlue/Sharp 的流加载音频?

更好的是,如何使用“动态”JavaScript 完成此操作(例如使用上面的 ExecuteScript(...))?

最佳答案

我想通了。它是通过模拟网络服务器来完成的。困难似乎是对请求内容的解释,这似乎是通过解析请求的 URL 来完成的。否则一切都很好。

public bool OnBeforeResourceLoad(IWebBrowser browser, 
IRequestResponse requestResponse)
{
IRequest request = requestResponse.Request;

if (request.Url.EndsWith(".gif")) {
MemoryStream stream = new System.IO.MemoryStream();
Properties.Resources.FooImage.Save(
stream, System.Drawing.Imaging.ImageFormat.Bmp);
requestResponse.RespondWith(stream, "image/gif");
}
else {

Stream resourceStream = new MemoryStream(Encoding.UTF8.GetBytes(
"<html><body><img src=\"foo.gif\" /></body></html>"));
requestResponse.RespondWith(resourceStream, "text/html");
}

return false;
}

关于c# - 使用带有 CefSharp 或 CefGlue 的 JavaScript 的本地或流式音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12332309/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com