OS: Windows 8.1 64
I tried to play multiple sounds in VB.Net with DirectX, there are no errors in my code.
The problem is whenever the event is fired I get this error
System.BadImageFormatException was unhandled Message: An unhandled
exception of type 'System.BadImageFormatException' occurred in
System.Windows.Forms.dll Additional information: Could not load file
or assembly 'Microsoft.DirectX.AudioVideoPlayback.dll' or one of its
dependencies. is not a valid Win32 application. (Exception from
HRESULT: 0x800700C1)
Then I set Target CPU to x86 and I got this error
System.IO.FileLoadException was unhandled Message: An unhandled
exception of type 'System.IO.FileLoadException' occurred in
System.Windows.Forms.dll Additional information: Mixed mode assembly
is built against version 'v1.1.4322' of the runtime and cannot be
loaded in the 4.0 runtime without additional configuration
information.
So far I have tried uninstalling-reinstalling DirectX SDK, Installing everything that has to do with DirectX and different sound files (.wav).
Also I had to browse to load the .dlls, I couldn't find them under Reference Manager>Assemblies but now I cant even load them through browse so I use Imports Microsoft.DirectX.AudioVideoPlayback
It will let me Import the rest .dlls except(Reference Manager wont even open them):
Microsoft.DirectX.AudioVideoPlayback.dll
Microsoft.DirectX.dll
Microsoft.DirectX.DirectSound.dll
the ones that I need. Is there a way to clean re-install them?
Target Framework: .Net Framework 4.5
CODE:
Dim MySound1 As New Microsoft.DirectX.AudioVideoPlayback.Audio("D:pathsound_file.mp3")
MySound1.Play()
Let me know if you need to know anything else.
UPDATE:
I changed the Target Framework
to .Net Framework 3.5
and it works fine but only if the CPU Target
is set to x86
! Why is that?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…