C# Directx Problem - Prorgamm bleibt beim Debuggen hängen

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von AProgrammer.

    C# Directx Problem - Prorgamm bleibt beim Debuggen hängen

    Hallo liiebe Forum :)
    Ich wollte nun eine Audio Datei über DirectX abspielen lassen. Doch wenn ich das Programm debuggen will erscheint die WinForm nicht. Dazu sagen müsste ich noch das ich den Verweis AudioVideoPlayback.dll manuell suchen musste da es keinen Verweis direkt in C# dafür gab obwohl ich die DirectX SDK heruntergeladen habe. Hier der Code:

    C#-Quellcode

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Threading.Tasks;
    9. using System.Windows.Forms;
    10. using Microsoft.DirectX.AudioVideoPlayback;
    11. namespace SQLDatenbank_Übung
    12. {
    13. public partial class Form1 : Form
    14. {
    15. public Form1()
    16. {
    17. InitializeComponent();
    18. }
    19. Audio backmusic;
    20. private void Form1_Load(object sender, EventArgs e)
    21. {
    22. backmusic = new Audio(@"C:\Users\Ardian\Music\ali bomaye the gAME.mp3");
    23. backmusic.Play();
    24. }
    25. private void button1_Click(object sender, EventArgs e)
    26. {
    27. }
    28. private void button2_Click(object sender, EventArgs e)
    29. {
    30. }
    31. private void button3_Click(object sender, EventArgs e)
    32. {
    33. }
    34. }
    35. }


    Danke im vorraus :)

    AProgrammer schrieb:

    erscheint die WinForm nicht
    Pack mal den Code in die button1_Click() und melde, was genau passiert (ich erwarte eine Exception).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    AProgrammer schrieb:

    total hängen
    Gib mal dem Song einen Namen ohne Leerzeichen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Definiere

    AProgrammer schrieb:

    manuell einbinden
    Schalte mal Dein Programm um auf x64 uder x86, nicht aber AnyCPU.
    ---------------
    Wo bekommt man diese DLL?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Bei x86 startet das Programm nicht. Jedoch bei x64 aber wenn ich auf Play drücke erscheint dieser Fehler :

    Eine nicht behandelte Ausnahme des Typs "System.BadImageFormatException" ist in System.Windows.Forms.dll aufgetreten.

    Zusätzliche Informationen: Die Datei oder Assembly "Microsoft.DirectX.AudioVideoPlayback.dll" oder eine Abhängigkeit davon wurde nicht gefunden. ist keine zulässige Win32-Anwendung. (Ausnahme von HRESULT: 0x800700C1)


    Außerdem zeigt mir der Fehler an das der Fehler hier liegt:

    C#-Quellcode

    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Threading.Tasks;
    5. using System.Windows.Forms;
    6. namespace SQLDatenbank_Übung
    7. {
    8. static class Program
    9. {
    10. /// <summary>
    11. /// Der Haupteinstiegspunkt für die Anwendung.
    12. /// </summary>
    13. [STAThread]
    14. static void Main()
    15. {
    16. Application.EnableVisualStyles();
    17. Application.SetCompatibleTextRenderingDefault(false);
    18. Application.Run(new Form1()); <<<<<<<< Hier liegt der Fehler
    19. }
    20. }
    21. }



    Die Dll habe ich mir von hier geholt:

    C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.AudioVideoPlayback.dll

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „AProgrammer“ ()

    Es ist egal, wann da der Fehler kommt. x64 ist die falsche Einstellung. x86 ist richtig. Außerdem darf(es sei denn es hat sich das was geändert) das eingestellte .Net Framework nicht größer 3.5 sein.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Würde dir von dem DirectX Zeugs abraten. Nimm das was im Framework schon fertig drinnen ist. Das DirectX Zeug von Microsoft ist veraltet, wird nicht weiterentwickelt, durch SharpDX abgelöst und total buggy.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.