Я хотел бы реализовать пользовательский эффект UWP AudioGraph.
Я успешно реализовал его в C #.Я следовал за этим документом .Но эту реализацию C # очень трудно оптимизировать.
Я бы хотел реализовать эффект в C ++ вместо C #.Но я не могу найти хороший учебник.Я добавил к своему решению проект C ++ Windows Runtime Component.И я добавил класс, который реализует IBasicAudioEffect.
Вот моя реализация метода ProcessFrame:
void PanningCustomEffect::ProcessFrame(ProcessAudioFrameContext^ context)
{
if (_frame == nullptr)
{
if (context == nullptr)
{
throw ref new InvalidArgumentException("context");
}
_frame = context->InputFrame;
}
AudioBuffer^ inputBuffer = _frame->LockBuffer(AudioBufferAccessMode::ReadWrite);
IMemoryBufferReference^ inputReference = inputBuffer->CreateReference();
// TODO: here
}
У меня есть 3 вопроса:
Как можноЯ получаю ссылку на IMemoryBufferByteAccess?
Тогда как мне получить доступ к значениям с плавающей запятой образцов?
Как правильно очистить память /уничтожить объекты в конце моего метода, чтобы не было утечки памяти?