10. september 2007 - 14:59Der er
20 kommentarer og 1 løsning
Afspille .vaw
Har fundet følgende kode til at afspille lyd med. For imidlertid fejlen : Unable to load DLL 'CoreDll.DLL': Det angivne modul blev ikke fundet. (Exception from HRESULT: 0x8007007E)
Har downloaded den men ved ikke hvor den skal ligge. Lagde den under system32 uden held
Er der en der kan hjælpe.
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Reflection; using System.Runtime.InteropServices; using System.Windows.Forms;
namespace Pyknometer { public class Sound { private byte[] m_soundBytes; private string m_fileName;
private enum Flags { SND_SYNC = 0x0000, /* play synchronously (default) */ SND_ASYNC = 0x0001, /* play asynchronously */ SND_NODEFAULT = 0x0002, /* silence (!default) if sound not found */ SND_MEMORY = 0x0004, /* pszSound points to a memory file */ SND_LOOP = 0x0008, /* loop the sound until next sndPlaySound */ SND_NOSTOP = 0x0010, /* don't stop any currently playing sound */ SND_NOWAIT = 0x00002000, /* don't wait if the driver is busy */ SND_ALIAS = 0x00010000, /* name is a registry alias */ SND_ALIAS_ID = 0x00110000, /* alias is a predefined ID */ SND_FILENAME = 0x00020000, /* name is file name */ SND_RESOURCE = 0x00040004 /* name is resource name or atom */ }
[DllImport("CoreDll.DLL", EntryPoint = "PlaySound", SetLastError = true)] private extern static int WCE_PlaySound(string szSound, IntPtr hMod, int flags);
[DllImport("CoreDll.DLL", EntryPoint = "PlaySound", SetLastError = true)] private extern static int WCE_PlaySoundBytes(byte[] szSound, IntPtr hMod, int flags);
/// <summary> /// Construct the Sound object to play sound data from the specified file. /// </summary> public Sound(string fileName) { m_fileName = fileName; } public Sound() {
}
/// <summary> /// Construct the Sound object to play sound data from the specified stream. /// </summary> public Sound(Stream stream) { // read the data from the stream m_soundBytes = new byte[stream.Length]; stream.Read(m_soundBytes, 0, (int)stream.Length); }
/// <summary> /// Play the sound /// </summary> public void Play() { // if a file name has been registered, call WCE_PlaySound, // otherwise call WCE_PlaySoundBytes if (m_fileName != null) WCE_PlaySound(m_fileName, IntPtr.Zero, (int)(Flags.SND_ASYNC | Flags.SND_FILENAME)); else WCE_PlaySoundBytes(m_soundBytes, IntPtr.Zero, (int)(Flags.SND_ASYNC | Flags.SND_MEMORY)); } } }
Er det CoreDll.DLL filen du har lagt ind under system32?
Dette er i hvert fald ikke nok til at man kan bruge det. Der burde være en beskrivelse af hva du skal gøre for at få det hele til at virke, men en ting du kan gøre er at starte RegSvr32.exe og bruge denne til at registrere dll'en med.
1) En mulighed er at du bruger stifinder til finde CoreDll.DLL filen. 2) Derefter højre klikker du på den, hvorved der kommer en contekst menu frem. 3) I denne vælger du åben med. 4) Vælg det nederste punkt i den nye menu - noget med Vælg program. 5) Find så frem til regsvr32.dll (den likker i C:\windoes\system32). 6) Brug regsvr32.dll til at "åbne" din DLL - dtette burede registrere den.
Jeg tror der er noget galt med min coreddl.ddl jeg har nu prøvet regsvr32.exe c:\WINDOWS\system32\coredll.dll og her får jeg samme fejl. Har du evt coreddl.dll
Tja, det der unægtelig ud til at det kun er for wav-filer.
En anden måde at afspille lyd (og video) kunne være at bruge Process-klassen til formålet. På dan måde kan man nemlig bede operativsystemet om selv at finde den relevante player. Uheldigvis ville det så betyde at Windows Media Player bliver åbnet (selv om man selvfølgeligt efterfølgende kan gøre den "usynlig").
Nå det man man også! Tjaa man kan vist stort set alt. Jeg fandt et program, der kan konvertere mine filer. Desværre ikke freeware. Kender du tilfældigvis et freeware?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.