Wie kann ich sofort einen Ton abspielen, wenn ein anderer Ton XNA / XACT mit Enden?

StackOverflow https://stackoverflow.com/questions/113977

  •  02-07-2019
  •  | 
  •  

Frage

Diese Frage Grenzen zwischen der Welt der Audio-Designer und der Programmierer. Während diese Frage teilweise von dieser Domäne eines Audio-Designer beantwortet haben könnte werden, ist es ein Problem für den Programmierer sicher. In unserem Projekt wollen wir ein Geräusch (Hintergrundmusik) Schleife, während das Spiel Timer größer als eine Minute übrig. Wenn diese Zeit getroffen wird, wollen wir die Musik zu stoppen, wie Autor, und dann weiter ab sofort mit Segment endet . Ich habe mich in XACT, und es scheint, Unterstützung für verschiedene Ereignisse zu haben. Leider ist die Dokumentation fehlt, und die Anwendung ist etwas fremd für mich als Programmierer.

Was ich suche ist zu tun, etwas in diese Richtung (unterschiedliche Ansätze):

  1. Wenn die Musik aufhört, möchte ich binden ein Ereignis, einen anderen Ton spielen sofort
  2. Wenn ein Marker in der Musik ausgelöst wird, möchte ich spielt ein anderes Geräusch sofort
  3. Ich möchte auch in meiner Anwendung wissen, wenn einige dieser Ereignisse geschehen

Das Problem ist, dass ich nicht in der Lage gewesen, einen Mechanismus zu Auto-Play-Sound zu finden, wenn ein anderer Ton beginnt und dass ich kann nicht einen Weg, um hook up mit den Ereignissen gemacht im XACT-Projekt C # finden.

Wenn dies nicht getan werden kann (das heißt XACT / XNA fehlt für diese Operationen Unterstützung), sammeln Sie bitte Ihre Ideen, wie man dieses Problem mit minimalen Querklangzeitfehler zu lösen. Vorzugsweise würde ich in der Lage sein, so viel Kontrolle wie möglich über diese in C # mit Aufrufen von XNA.

War es hilfreich?

Lösung

Ich glaube, ich es gelöst habe jetzt

Hier ist, wie ich es tat.

  1. Wählen Sie die Cue , die Sie den Ton ändern wollen, nachdem es in XACT gestoppt wurde.
  2. Set Playlist Typ Interactive .
  3. Öffnen Cue Transitions .
  4. Wählen Sie nach Reiseziel .
  5. Wählen der Cue in der (Stopp) Knoten sichtbar in der Baumansicht.
  6. In Transition Properties auf der rechten Seite der Baumansicht für Quelle und Ziel :
    1. Set Quelle Ende der Schleife .
    2. Set destiantion Anfang .
  7. In Transition Properties auf der rechten Seite der Baumansicht für Transitions :
    1. Set Transition Typ Direkt Concurrent Transition .
    2. Set Übergangs Ton der Ton, den Sie spielen möchten , nachdem der Looping Sound seiner Schleife beendet hat.

Schließen Sie das Fenster und testen Sie es, indem Sie den Cue spielen. Testen Sie auch, es zu stoppen Wie Authored , um zu sehen, ob das Verhalten fulfilles Ihre Erwartungen.


Implementierung

Im Code Stop die Cue Wie Authored , um dieses Verhalten zu bekommen. Sofortige stoppt den Cue, ohne den Klang Outro zu spielen. Ich hoffe, den anderen Menschen hilft, die in dieses Problem in der Zukunft führen könnten. Die Frage und Antwort war nicht so viel Code orientiert, wie ich anfangs dachte. Auch dies gilt für XNA 2.0. Ich weiß nicht, ob es andere Optionen sein für diese Art von Verhalten in XNA 3.0 + steuern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top