Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
OAL.cs
浏览该文件的文档.
1using System;
2using System.Runtime.InteropServices;
3
4namespace Engine.Browser {
5 public static class OAL {
6 // On WASM/Emscripten, this is often "openal" or "__Internal" depending on linking
7 private const string LibOal = "openal32";
8
9 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
10 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
11 public static extern unsafe IntPtr alcOpenDevice(byte* devicename);
12
13 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
14 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
15 public static extern unsafe IntPtr alcCreateContext(IntPtr device, int* attrlist);
16
17 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
18 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
19 public static extern bool alcMakeContextCurrent(IntPtr context);
20
21 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
22 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
23 public static extern void alcDestroyContext(IntPtr context);
24
25 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
26 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
27 public static extern bool alcCloseDevice(IntPtr device);
28
29 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
30 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
31 public static extern int alcGetError(IntPtr device);
32
33 // --- AL Functions (Core) ---
34
35 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
36 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
37 public static extern int alGetError();
38
39 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
40 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
41 public static extern void alGenSources(int n, out uint sources);
42
43 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
44 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
45 public static extern void alDeleteSources(int n, ref uint sources);
46
47 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
48 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
49 public static extern void alSourcei(uint source, int param, int value);
50
51 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
52 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
53 public static extern void alSourcef(uint source, int param, float value);
54
55 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
56 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
57 public static extern void alSource3f(uint source, int param, float v1, float v2, float v3);
58
59 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
60 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
61 public static extern void alSourcePlay(uint source);
62
63 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
64 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
65 public static extern void alSourcePause(uint source);
66
67 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
68 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
69 public static extern void alSourceStop(uint source);
70
71 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
72 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
73 public static extern void alSourceRewind(uint source);
74
75 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
76 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
77 public static extern void alGetSourcei(uint source, int param, out int value);
78
79 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
80 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
81 public static extern void alGenBuffers(int n, out uint buffers);
82
83 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
84 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
85 public static extern void alDeleteBuffers(int n, ref uint buffers);
86
87 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
88 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
89 public static extern unsafe void alBufferData(uint buffer, int format, void* data, int size, int freq);
90
91 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
92 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
93 public static extern void alListenerf(int param, float value);
94
95 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
96 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
97 public static extern void alDistanceModel(int model);
98
99 // Queueing functions for Streaming
100 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
101 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
102 public static extern unsafe void alSourceQueueBuffers(uint source, int nb, uint* buffers);
103
104 [DllImport(LibOal, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
105 [DefaultDllImportSearchPaths(DllImportSearchPath.SafeDirectories)]
106 public static extern unsafe void alSourceUnqueueBuffers(uint source, int nb, uint* buffers);
107 }
108}
unsafe
定义 Main.cs:15
static void alSourcei(uint source, int param, int value)
static int alcGetError(IntPtr device)
static unsafe void alSourceUnqueueBuffers(uint source, int nb, uint *buffers)
static void alSourceStop(uint source)
static void alGenSources(int n, out uint sources)
static void alDeleteBuffers(int n, ref uint buffers)
static bool alcMakeContextCurrent(IntPtr context)
static void alDistanceModel(int model)
static void alListenerf(int param, float value)
static void alSourcePause(uint source)
static void alSourcePlay(uint source)
static bool alcCloseDevice(IntPtr device)
static void alGenBuffers(int n, out uint buffers)
const string LibOal
定义 OAL.cs:7
static unsafe void alSourceQueueBuffers(uint source, int nb, uint *buffers)
static unsafe IntPtr alcCreateContext(IntPtr device, int *attrlist)
static void alGetSourcei(uint source, int param, out int value)
static unsafe void alBufferData(uint buffer, int format, void *data, int size, int freq)
static void alSourceRewind(uint source)
static void alDeleteSources(int n, ref uint sources)
static void alcDestroyContext(IntPtr context)
static unsafe IntPtr alcOpenDevice(byte *devicename)
static void alSource3f(uint source, int param, float v1, float v2, float v3)
static int alGetError()
static void alSourcef(uint source, int param, float value)