Ich versuche, eine Winform-App in C# (VS2008) zu machen, die ein mp3 laden kann (andere Formate wären nett, aber mindestens mp3) und in der Lage sein, die Wiedergabegeschwindigkeit (Tempo) einzustellen, ohne die Tonhöhe zu beeinflussen. Ich brauche wirklich keine anderen Audioeffekte. Ich habe versucht, DirectShow zu verwenden, aber das scheint keine Time-Stretch-Funktionen zu bieten. Ich konnte irrklang integrieren, aber das scheint auch nicht die Time-Stretch-Fähigkeit zu haben. So, jetzt habe ich weitergegangen auf SoundTouch. Das hat sicherlich die Fähigkeiten, aber ich bin sehr unklar, wie in C# zu implementieren ist.C# Audio - Wie man Zeit dehnt (unterschiedliches Tempo, gleiche Tonhöhe)
Nach ein paar Tagen, über alles, was ich erreicht habe, ist DLLImport auf der SoundTouch DLL und bin in der Lage, eine Versionsnummer erfolgreich abrufen. An diesem Punkt bin ich mir nicht einmal sicher, ob ich das tun kann, was ich mit SoundTouch zu tun versuche. Kann mir jemand Anleitung geben, wie man SoundTouch oder eine andere Bibliothek mit den Fähigkeiten, die ich suche, implementieren kann? Vielen Dank.
schrieb einen Kommentar, der im Grunde dasselbe sagt. Du hast mich dazu geschlagen;) –
Das passiert mir die ganze Zeit. –
Ok, naja, zumindest weiß ich, dass ich die rechte Straße hinuntergehe. Mein Problem ist jetzt, dass die Beispiele, die ich sehe (und ich kann sicherlich etwas wichtiges fehlen), alle in C++ sind. Mit DLLImport kann ich dies in C# arbeiten: SOUNDTOUCHDLL_API const char * _ stdcall soundtouch_getVersionString(); Für meine Zwecke müsste ich anrufen können: SOUNDTOUCHDLL_API HANDLE __stdcall soundtouch_createInstance(); Und SOUNDTOUCHDLL_API void __stdcall soundtouch_setTempoChange (HANDLE h, float newTempo); Und das ist, wo ich jetzt völlig steckengeblieben bin. – heath