AudioPlaybackModule.cs 586 B

12345678910111213141516171819
  1. using System.Runtime.InteropServices.JavaScript;
  2. using System.Runtime.Versioning;
  3. namespace SimpleWebChat.BlazorWasm.Modules;
  4. [SupportedOSPlatform("browser")]
  5. public static partial class AudioPlaybackModule
  6. {
  7. private static JSObject _jsModule;
  8. public static async Task PlayChunk(byte[] chunk)
  9. {
  10. _jsModule ??= await JSHost.ImportAsync("SvcAudioPlaybackModule", $"{GlobalModule.BasePath ?? "/"}audio-playback-module.js");
  11. await JsPlay(chunk);
  12. }
  13. [JSImport("play", "SvcAudioPlaybackModule")]
  14. private static partial Task JsPlay(byte[] chunk);
  15. }