C# Directsound Lame.exe



  • Hi,

    ich möchte mit DirectSound mp3's abspielen, zur Zeit decodiere ich es
    mit Lame.exe und spiele es dann ab, aber beim erstenmal stürzt die
    Anwendung ab, er spielt erst beim 2ten das Lied, da es Probleme gibt,
    wenn man Schreiben und gleichzeitig lesen möchte.

    Wie kann ich das umgehen.

    Da ich einen Equalizer bauen möchte und die Wellenform Visualisieren möchte,
    fallen Sachen wie AudioVideoPlayback, MediaPlayer Active X etc weg.

    Für Ideen und Anregungen Wäre ich sehr Dankbar



  • Mal ne generelle Frage.

    Die Soundkarte versteht doch ein mp3 oder?
    Man muss das mp3 Lied doch zur Laufzeit decodieren in wav, oder
    verstehe ich das falsch?



  • Am besten, du bindest die Lame.dll in dein Programm ein, dann kannst du explizit die Funktionalität nutzen (anstatt über die Lame.exe eine Datei schreiben zu müssen).

    Und du meintest sicherlich: "Die Soundkarte versteht doch kein mp3 oder?"?
    Und bzgl. "Man muss das mp3 Lied doch zur Laufzeit decodieren in wav, oder verstehe ich das falsch?" informiere dich ersteinmal über das WAV-Format, s. http://de.wikipedia.org/wiki/RIFF_WAVE

    Was du meinst, ist das PCM-Format.
    Und ja, man muß die Daten erst dekodieren bevor man sie an die Soundkarte weitergibt (mag sein, daß es auch Soundkarten mit Hardwareunterstützung für MP3 gibt - ähnlich wie MPEG-Videokarten - aber das wird wohl eher die Ausnahme sein).



  • Danke für die Antwort, werd werd mir die dll mal anschauen, hab gemerkt mit der
    lame.exe funktioniert dass eh nich, spätestens beim springen zu einer Position
    würde es zu Problemen kommen.

    Und noch eine andere Frage. Ich habe DirectSound in WPF eingebunden,
    läuft auch super, nur sobald das Fenster den Fokus verliert, hört man keinen
    Sound mehr.

    bufferdesc.GlobalFocus = true; 
                bufferdesc.StickyFocus = true;
    

    liefern nich das gewünschte Ergebnis.
    Was kann ich tun?


Log in to reply