Jump to content
Unity Insider Forum

audio abspielen geht nicht ?


swat243

Recommended Posts

Ich habe ein Audioclip " walking " der 8 sekunden lang geht,ich hab das Problem wenn ich AudioPlayClipAtPoint verwende das,wenn ich stop das die audiosource weiter spielt bissie zuende ist.

 

dann hab ich das hier veruscht aber das geht uach nicht

 

 

 

void Update () {
 if (Input.GetKeyDown (KeyCode.W))
 {
  audio.clip = walking;
  audio.Play(walkingSOUND);
 }
 if (Input.GetKeyUp (KeyCode.W))
 {
  audio.clip = walking;
  audio.Stop();  
 }

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

AudioClipAtPoint kann so nicht gehen, da ein Soundobjekt instanziert wird, welches so lange Spielt bis der Sound zuende ist und sich dann selbst zerstört.

Mit audio.Play() und audio.Stop() geht sowas schon.

Du schreibst, dass mit deinem gezeigten Code es nicht geht. Ja was geht nicht?

So wie ich den Code lese, startet der Sound sobald du die W Taste runter drückst. Und sobald du sie gehen lässt, hört der Sound auf.

 

Willst du das so?

Übrigens, audio.Clip musst du nur vor dem Play setzen, damit die Audiosource auch weiß, welcher Clip gespielt werden soll. Bei Stop brauchst du das nicht machen, denn es ist egal, welcher Clip gerade läuft. Er wird gestoppt.

 

Ach so!!!

 

Du sagst einmal dass der Clip der walking Clip sein soll, hast aber dann im Play WALKINGSOUND drin?

Was versprichst du dir davon?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 weeks later...

In Unity 5 muss man etwas ändern. Hier hast du auch noch einen kleinen Random Script bei

 


public AudioClip[] WalkingClips; //Hier kann man ganz viele Clips rein machen 

void Start()
{
GetComponent<AudioSource>(); // Ab Unity 5
}

void Update ()
{
 if (Input.GetKeyDown (KeyCode.W))
 {
int n = Random.Range(1,WalkingClips.Length);
GetComponent<AudioSource>().PlayOneShot(WalkingClips[n]);
  WalkingClips[n] = WalkingClips[0];
  WalkingClips[0] = GetComponent<AudioSource>().clip;
 }
} 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ergibt in meinen Augen relativ wenig Sinn. Warum sollte man den clip der AudioSource in sein Array packen? Erklärung bitte!

 

Der Script soll mit dem Array soll verhindern das der gleiche Clip ein zweites mal hintereinander gespielt wird. Für einen Walking Script hört sich das besser an.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...