Gondwana Game Engine Development (master) - 2.6.1
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop and web platforms using SkiaSharp for graphics and pluggable audio backends for desktop and browser targets.
Loading...
Searching...
No Matches
BrowserAudioInterop.cs
1using System.Runtime.InteropServices.JavaScript;
2using System.Runtime.Versioning;
3
5
7[SupportedOSPlatform("browser")]
8internal static partial class BrowserAudioInterop
9{
10 private const string Module = "gondwana-audio";
11
12 [JSImport("load", Module)]
13 internal static partial void Load(string key, string src, bool loop, float volume, float pan, float playbackSpeed,
14 [JSMarshalAs<JSType.Function>] Action onEnded);
15
16 [JSImport("loadBytes", Module)]
17 internal static partial void LoadBytes(
18 string key,
19 string base64Data,
20 string mimeType,
21 bool loop,
22 float volume,
23 float pan,
24 float playbackSpeed,
25 [JSMarshalAs<JSType.Function>] Action onEnded);
26
27 [JSImport("play", Module)]
28 internal static partial void Play(string key, bool fromStart);
29
30 [JSImport("pause", Module)]
31 internal static partial void Pause(string key);
32
33 [JSImport("stop", Module)]
34 internal static partial void Stop(string key);
35
36 [JSImport("setVolume", Module)]
37 internal static partial void SetVolume(string key, float volume);
38
39 [JSImport("setLoop", Module)]
40 internal static partial void SetLoop(string key, bool loop);
41
42 [JSImport("setPan", Module)]
43 internal static partial void SetPan(string key, float pan);
44
45 [JSImport("setPlaybackSpeed", Module)]
46 internal static partial void SetPlaybackSpeed(string key, float playbackSpeed);
47
48 [JSImport("setCurrentTime", Module)]
49 internal static partial void SetCurrentTime(string key, double seconds);
50
51 [JSImport("getCurrentTime", Module)]
52 internal static partial double GetCurrentTime(string key);
53
54 [JSImport("getDuration", Module)]
55 internal static partial double GetDuration(string key);
56
57 [JSImport("getState", Module)]
58 internal static partial int GetState(string key);
59
60 [JSImport("unload", Module)]
61 internal static partial void Unload(string key);
62}