Watch
2
0
Fork
You've already forked raylib-cs
0

AttachAudioMixedProcessor Utils for easy callback (#215)

This commit is contained in:
Nicky McDonald 2024-02-24 03:44:13 -05:00 committed by GitHub
commit b049b4f88d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,23 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace Raylib_cs;
internal static unsafe class AudioMixed
{
public static AudioCallback<float> Callback = null;
[UnmanagedCallersOnly(CallConvs = new[]
{
typeof(CallConvCdecl),
})]
public static void Processor(void* buffer, uint frames)
{
// The buffer is stereo audio, so we need to double our frame count.
frames = Math.Min(frames * 2, int.MaxValue);
Span<float> floats = new(buffer, (int)frames);
Callback?.Invoke(floats);
}
}