Egal wo ich suche, ich kann keine gute Antwort auf diese Frage finden. Ich hätte gerne etwas bei einer bestimmten BPM (in meinem Beispiel verwende ich BPM), aber die grundlegende C# Timer-Klasse funktioniert nicht für mich. Da es nur in Millisekunden misst, werden alle Aktionen, die innerhalb des Timers ausgeführt werden, merklich von der Musik nicht synchronisiert. Ich habe versucht, diese MicroTimer Library aber ohne Glück zu verwenden! Obwohl es ziemlich feinkörnig sein kann, ist es ressourcenintensiv und es hat nicht die erforderliche Auflösung. Ich verstehe, dass ich eine Funktion mit einem Zähler haben kann, aber gibt es eine gute Möglichkeit, dies mit Visual Studio-Bibliotheken (wie dem Basistimer) zu tun? Ich höre, die sind nicht so prozessorhungrig.Tun Sie etwas bei einem gegebenen (ungeraden) BPM
Antwort
Ich bezweifle, dass Sie die gewünschte Zeitauflösung in einer verwalteten Sprache wie C# erhalten.
Zur Hölle, auch wenn Sie in C geschrieben haben, könnte das OS entscheiden, dass ein anderer Prozess wichtiger ist und einfach nicht mehr synchron ist.
Vielleicht in Betracht ziehen, den Timer zu verwenden, aber jede Sekunde oder halbe Sekunde resyncing? Ich würde standardmäßig auf einen anderen Benutzer zurückgreifen, wenn sie Erfahrung in diesem Bereich haben, aber ich würde zumindest eine Chance geben. Oder geh durch die Systemuhr ticks?
Pflege, um den Downvote zu erklären? Ich würde wenigstens gerne wissen, warum ich falsch liege, damit ich etwas lernen kann. –
Da die Antwort völlig falsch ist, da ich auf den Benutzer hingewiesen habe, können Sie Multimedia-Timer verwenden, und Sie werden diese Auflösung erreichen, und Sie werden nicht synchron sein, wenn der Timer vom Betriebssystem auf Kernel-Ebene ausgelöst wird. – Gusman
- 1. Wie etwas bei einem Fehler in Ruby zu tun?
- 2. UIPanGestureRecognizer tun etwas, wenn Sie sofort berührt
- 3. Tun Sie etwas nach .html() hat
- 4. Tun Sie etwas auf Fragment geht zurück
- 5. Select, Option etwas tun
- 6. Angular - Wenn beobachtbar ist, tun Sie etwas
- 7. Tun Sie etwas nach zwei Sekunden Keyup
- 8. Tun Sie etwas nach Methode gibt
- 9. Rails link_to: Tun Sie etwas nach Bestätigung
- 10. Tun Sie etwas nach jeder 180 Grad
- 11. Tun Sie etwas nach Benutzeranmeldung in WordPress
- 12. Tun Sie etwas neben der Belastungstabelle
- 13. JavaScript - Tun Sie alle n Sekunden etwas
- 14. Schlechter Anforderungsfehler, bevor Sie etwas tun
- 15. Auf Tastatur verstecken Tun Sie etwas
- 16. Lesen und etwas tun
- 17. etwas tun, wenn Modal verbirgt
- 18. Wenn Array isset, etwas tun?
- 19. Etwas tun, wenn subscribe() abschließt
- 20. Wordpress get_option geprüft tun etwas
- 21. Android-Schaltfläche nicht etwas tun
- 22. etwas tun, wenn Ansicht Lasten
- 23. etwas tun, wenn alle deferreds
- 24. multiprocessing.Pool.map_async scheint nicht ... überhaupt etwas zu tun?
- 25. etwas tun, wenn Attributwert ist Singular
- 26. Klicken Sie das ODER, dann tun Sie etwas
- 27. Erzähle einem bestehenden Thread etwas zu tun Ruby
- 28. Tun Sie etwas, wenn ein in db gespeichertes Datum
- 29. Oracle SOA BPM Problem
- 30. Herz BPM Normalisierung - Matlab
Was Sie suchen, sind Multimedia-Timer, ich habe sie zuvor für MIDI-Synchronisation verwendet, was auch Ihr Fall scheint (oder sehr ähnlich). Dieser Beitrag hat einige Beispiele: https://stackoverflow.com/questions/24839105/high-resolution-timer-in-c-sharp – Gusman