Also erstmal:
ich bezweifle, dass die Funktion
function SaveCallback(nPercent: Int): Bool; pascal; die Aufrufkonvention "pascal" benutzen sollte. Ich denke eher, dass "stdcall" die richtige Aufrufkonvention ist - ist ja immerhin ein Windows-
API-Callback.
Als nächstes

Zitat von
capo:
Bei kleinen Avi-Dateien funktioniert das ganz gut, bei großen Filmen gibt es immer Fehlermeldungen.
Was kommen denn für Fehlermeldungen? Irgendwelche Exceptions

Es wäre für alle sehr hilfreich, wenn du das noch konkretisieren würdest.

Zitat von
cap:
Zudem wird als *.wav gespeichert, ist aber keine richtige *.wav -Datei.
Das ist nicht verwunderlich. Die Funktion, die du aufrufst, extrahiert einfach nur den Audio-Stream aus der Datei - mehr nicht. Der Audio-Stream kann ja auch ein MP3 sein, damit die Video-Datei kleiner wird. Die Funktion, die du aufrufst, konvertiert die Audio-Daten nicht, sie extrahiert diese nur. Afaik bietet diese
API keine direkte Funktion zum De/Enkodieren von Audio-Dateien, das musst du selber machen oder externe Libraries dafür verwenden. Aber ich bin mir da nicht sicher.