es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Traducción al español: El envoltorio de FMOD C# no puede encontrar fmod.dll (de Monogame 3.8).

Estoy intentando integrar FMOD Core 2.02 en mi proyecto de Monogame 3.8 usando los dll y los paquetes C# (que parecen estar auto-generados a partir de C++). He establecido los .dll para copiar en el directorio de salida al construir, y los estoy accediendo así:

[DllImport(“kernel32.dll”)]
public static extern IntPtr LoadLibrary(string path);

public void OnSystemLoad()
{
if (Environment.Is64BitProcess)
LoadLibrary(System.IO.Path.GetFullPath(“FMOD\x64\fmod.dll”));
else
LoadLibrary(System.IO.Path.GetFullPath(“FMOD\x86\fmod.dll”));
}

Todo está funcionando bien hasta este punto, los .dll son accesibles desde el puntero. Sin embargo, una vez que intento crear un nuevo sistema FMOD utilizando:

FMOD.Factory.System_Create(out FMODSystem);

Obtengo este error en una ventana emergente:

El punto de entrada del procedimiento ?setFadePointRamp@ChannelControl@FMOD@@QEAA?AW4FMODRESULT@@KM@Z no se encontró en la biblioteca de vínculos dinámicos …fmod.dll.

Seguido de este error en el propio código C# auto-generado:

System.DllNotFoundException: ‘No se puede cargar la biblioteca DLL ‘fmod’ o una de sus dependencias: El módulo especificado no se pudo encontrar. (0x8007007E)’

Estoy seguro de que el .dll se encuentra bien, porque si intencionalmente cambio la ruta a algo incorrecto, el primer error nunca aparece.

¿Alguien ha integrado con éxito FMOD con Monogame en 2021? En caso afirmativo, por favor, avíseme. Me encantaría recibir cualquier orientación para poner esto en marcha… ¡no quiero quedarme con el reproductor multimedia de Monogame!

Otros recursos que he encontrado sobre este tema (ninguno de los cuales ha funcionado para mí hasta ahora):

FMOD in C#… it’s a pain to set up. here’s how I did it:


https://github.com/Martenfur/ChaiFoxes.FMODAudio

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Integrar FMOD con Monogame en C#

    Un usuario está intentando integrar FMOD con Monogame en su proyecto de C#. Ha copiado los dlls de FMOD y los envoltorios de C# en su proyecto y los está accediendo utilizando el método LoadLibrary. Sin embargo, cuando intenta crear un nuevo sistema de FMOD, recibe un error que indica que no se pudo ubicar el punto de entrada del procedimiento setFadePointRamp.

    El mensaje de error sugiere que el módulo especificado fmod.dll no se pudo encontrar, pero el usuario está seguro de que el dll se está encontrando porque no aparece el primer mensaje de error cuando intencionalmente manipulan la Ruta.

    El usuario busca orientación sobre cómo integrar FMOD con Monogame, ya que no quiere quedarse atrapado con el MediaPlayer de Monogame. Ha intentado varios recursos, pero ninguno ha funcionado hasta ahora.

    Sería útil conocer más sobre la configuración del proyecto del usuario y la versión específica de FMOD que están utilizando. Sin embargo, una posible solución podría ser verificar si las dependencias de los dll de FMOD están presentes y en la ubicación correcta. También podría valer la pena intentar usar una versión diferente de FMOD o utilizar un método diferente para acceder a los dll, como agregarlos al proyecto como referencias. La solución de problemas adicionales pueden requerir más información sobre la configuración del usuario y los errores específicos que están encontrando.

Comments are closed.