Skip to content

Commit 0c29ef9

Browse files
committed
Change ready signal to fire when cef calls OnAfterCreated
1 parent 7379df0 commit 0c29ef9

7 files changed

Lines changed: 44 additions & 2 deletions

File tree

src/Packages/UnityWebBrowser/Runtime/Core/WebBrowserClient.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -951,6 +951,17 @@ public void Resize(Resolution newResolution)
951951
logger.Debug($"Resized to {newResolution}.");
952952
}
953953

954+
/// <summary>
955+
/// Mutes browser audio
956+
/// </summary>
957+
/// <param name="muted"></param>
958+
public void AudioMute(bool muted)
959+
{
960+
CheckIfIsReadyAndConnected();
961+
962+
communicationsManager.AudioMute(muted);
963+
}
964+
954965
[DebuggerStepThrough]
955966
private void CheckIfIsReadyAndConnected()
956967
{

src/Packages/UnityWebBrowser/Runtime/Core/WebBrowserCommunicationsManager.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,11 @@ public void Resize(Resolution resolution)
197197
ExecuteTask(() => engineProxy.Resize(resolution));
198198
}
199199

200+
public void AudioMute(bool muted)
201+
{
202+
ExecuteTask(() => engineProxy.AudioMute(muted));
203+
}
204+
200205
public void Connect()
201206
{
202207
ipcClient.Connect();

src/UnityWebBrowser.Engine.Cef/Main/Core/CefEngineControlsManager.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,11 @@ public void Resize(Resolution resolution)
329329
cefClient.Resize(resolution);
330330
}
331331

332+
public void AudioMute(bool muted)
333+
{
334+
cefClient.AudioMute(muted);
335+
}
336+
332337
#endregion
333338

334339
#region Destroy

src/UnityWebBrowser.Engine.Cef/Main/Core/UwbCefEngineEntry.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ protected override void EntryPoint(LaunchArguments launchArguments, string[] arg
3030
cefEngineControlsManager.Init(ClientControlsActions, PopupManager);
3131

3232
SetupIpc(cefEngineControlsManager, launchArguments);
33-
Ready();
33+
//Ready();
3434

3535
//Calling run message loop will cause the main thread to lock (what we want)
3636
CefRuntime.RunMessageLoop();

src/UnityWebBrowser.Engine.Cef/Shared/Browser/UwbCefClient.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.Runtime.CompilerServices;
1010
using System.Text;
1111
using Microsoft.Extensions.Logging;
12+
using UnityWebBrowser.Engine.Cef.Core;
1213
using UnityWebBrowser.Engine.Cef.Shared.Browser.Js;
1314
using UnityWebBrowser.Engine.Cef.Shared.Browser.Messages;
1415
using UnityWebBrowser.Engine.Cef.Shared.Browser.Popups;
@@ -81,6 +82,7 @@ public UwbCefClient(
8182
{
8283
browser = cefBrowser;
8384
browserHost = cefBrowser.GetHost();
85+
ClientControls.Ready();
8486
};
8587
displayHandler = new UwbCefDisplayHandler(this, mainLogger, browserConsoleLogger);
8688
requestHandler = new UwbCefRequestHandler(proxySettings, ignoreSslErrors, ignoreSslErrorsDomains);
@@ -414,6 +416,11 @@ public void Resize(Resolution resolution)
414416
browserHost.WasResized();
415417
}
416418

419+
public void AudioMute(bool muted)
420+
{
421+
browserHost.SetAudioMuted(muted);
422+
}
423+
417424
#endregion
418425

419426
#region Messages

src/UnityWebBrowser.UnityProject/Assets/Scripts/UWBPrjDebugUI.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ public sealed class UWBPrjDebugUI : MonoBehaviour
6868

6969
//Zoom
7070
private double zoomLevel = double.MinValue;
71+
72+
//Audio
73+
private bool audioMuted = false;
7174

7275
private void Awake()
7376
{
@@ -134,7 +137,7 @@ private void OnClientConnected()
134137

135138
hasConnected = true;
136139
}
137-
140+
138141
private void Update()
139142
{
140143
if(webBrowserUIBasic.browserClient.HasDisposed || !hasConnected)
@@ -195,6 +198,11 @@ private void OnImGuiLayout(UImGui.UImGui uImGui)
195198

196199
//Buttons for getting details
197200
{
201+
if(ImGui.Checkbox("Audio Mute", ref audioMuted))
202+
webBrowserUIBasic.browserClient.AudioMute(audioMuted);
203+
204+
ImGui.SameLine();
205+
198206
if (ImGui.Button("Get Scroll Pos"))
199207
Debug.Log(webBrowserUIBasic.browserClient.GetScrollPosition());
200208

src/VoltstroStudios.UnityWebBrowser.Shared/Core/IEngineControls.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,10 @@ internal interface IEngineControls
114114
/// </summary>
115115
/// <param name="resolution"></param>
116116
public void Resize(Resolution resolution);
117+
118+
/// <summary>
119+
/// Mutes browser audio
120+
/// </summary>
121+
/// <param name="muted"></param>
122+
public void AudioMute(bool muted);
117123
}

0 commit comments

Comments
 (0)