Ist es möglich, mit der verwalteten Version von DirectSound einen Ton rückwärts zu lesen? Wenn nicht, gibt es eine andere Bibliothek, die es leicht macht?Mit DirectSound einen Ton rückwärts lesen
2
A
Antwort
7
Sie können die WaveFileReader- und WaveFileWriter-Klassen von NAudio verwenden, um eine WAV-Datei umzukehren. Sie müssen sicherstellen, dass Sie die BlockAlign-Eigenschaft des WaveFormat verwenden, um alle Bytes für ein einzelnes Sample (4 für Stereo-16-Bit-Audio) zu lesen.
public static void ReverseWaveFile(string inputFile, string outputFile)
{
using (WaveFileReader reader = new WaveFileReader(inputFile))
{
int blockAlign = reader.WaveFormat.BlockAlign;
using (WaveFileWriter writer = new WaveFileWriter(outputFile, reader.WaveFormat))
{
byte[] buffer = new byte[blockAlign];
long samples = reader.Length/blockAlign;
for (long sample = samples - 1; sample >= 0; sample--)
{
reader.Position = sample * blockAlign;
reader.Read(buffer, 0, blockAlign);
writer.WriteData(buffer, 0, blockAlign);
}
}
}
}
+0
Akzeptiert, aber ich habe es mit DirectSound implementiert. –
Verwandte Themen
- 1. Mit AVAudioEngine einen Ton wiederholen
- 2. Lesen Dateizeilen rückwärts (fgets) mit PHP
- 3. DirectSound - Wie beginne ich
- 4. Python lesen Ausgang Ton nicht eingegeben
- 5. Akustische Echokompensation (AEC) mit Speex und DirectSound
- 6. Wie man eine Datei rückwärts lesen effizient
- 7. Eine Textdatei rückwärts lesen in C
- 8. Ist es möglich, eine Datei "rückwärts" mit Lua zu lesen?
- 9. WAV-Datei rückwärts abspielen
- 10. Abspielen von Audio rückwärts mit HTMLMediaElement
- 11. So konfigurieren Sie MaxSampleRate von DirectSound über 20000
- 12. jQuery $ .each() Rückwärts-/Rückwärts-Iteration
- 13. Interpretation der DirectSound-Pufferelemente vom Mikrofon-Aufnahmegerät
- 14. Wie kann ich einen Ton in AS3 stoppen, um einen anderen Ton zu spielen?
- 15. GROUPBY mit TimeGrouper 'rückwärts'
- 16. Schleife einen Ton in festgelegten Intervallen
- 17. Spielen Sie einen zufälligen Ton onTouch
- 18. einen Ton in benutzerdefinierte Anwendung von iPhone
- 19. Node.js Skript stoppt unvollendet ohne einen Ton
- 20. Wie man einen Ton in Xamarin.Forms spielt?
- 21. Play variable Ton mit Java?
- 22. Wie durchlaufe ich einen Datumsbereich rückwärts?
- 23. Wie man einen Ton mit einer Taste stoppt?
- 24. Wie spiele ich einen Ton in Linux mit C?
- 25. Unicode-Text rückwärts dekodieren
- 26. Embed YouTube mit Ton aus
- 27. Iterating rückwärts
- 28. Debuggen rückwärts
- 29. Rückwärts mit Daten in Vbscript
- 30. Rückwärts Kompatibel in xstream
versuchen Sie, die Datei als Stream zu öffnen, erhalten Sie die Header-Informationen, erstellen Sie eine neue Tempdatei mit den Header-Informationen und schreiben Sie den Stream vom Ende. öffne die tempdatei als neues directsound-Objekt und versuche es zu spielen – Jim
Das ist die Lösung, die ich gerade versuche zu implementieren. Ich fragte mich, ob es keinen leichteren Weg gab. Übrigens, warum hast du das nicht als Antwort gepostet? –