Audioformate (*.wav;*.mp3, etc) mit C# abspielen

Guten Tag!

Mit DirectX lassen sich diverse Einstellungen wie z.B. Volume relativ einfach treffen. Brauchst du das nicht, d.h. willst du ganz einfach nur einen Sound abspielen, reicht es die winmm.dll einzubinden.

Für *.wav Dateien wurde es schon von TonicTickle gepostet - aber auch *.mp3 Files lassen sich damit abspielen. Dazu ist folgende Methode zu gebrauchen:
Code:
[DllImport("winmm.dll")]
private static extern int mciSendString (string lpCommand, string lpReturn, int nReturnLength, IntPtr callBack);

Ich hab mir mal ne Klasse dazu gemacht. Wer's interessiert, kanns mal anschauen.
 

Anhänge

  • Mp3.zip
    756 Bytes · Aufrufe: 2.684
ja ist ja schon klar aber der agt bei mir das bei dem

string lpCommand, string lpReturn, int nReturnLength, IntPtr callBack);
irgendwas fehlt ich hab denn text normal reinkopiert und so geändert das das lied von mir abgespielt wird aber der sagt beim compilern halt nen fehler
 
using System;

class sound
{
[DllImport("winmm.dll")]
private static extern int mciSendString (string lpCommand, string lpReturn, int nReturnLength, IntPtr callBack);
}

wenn ich das compilern will dann sagt der:
test.cs (5,2): error cs0246: the type or namespace name 'dllimport' could not be found (are you missing a using directive or an assembly referencer?)


mfg Marc1
 
Schau was TonicTickle oben im 3. Post gepostet hat:
Code:
(!)--> using System.Runtime.InteropServices; // für DLL-Import <--(!)

[DllImport("winmm.dll")]
public static extern long PlaySound(String lpszName, IntPtr hModule, Int32 dwFlags);
:rolleyes:
are you missing a using directive or an assembly referencer?
Das heisst:
  1. Entweder ist keine using direktive vorhanden. Also der Namespace nicht vorhanden ist, in dem sich das Objekt befindet
  2. Es existiert gar keine Referenz zur DLL, in der sich die Namespaces befinden.
Ergo muss man schauen ob alle Namespaces eingebunden und vorhanden sind.
Wenn Du nicht weisst welche, kannst Du auch im Objektbrowser nach dem Objektnamen suchen. ;)
 
Zurück