2 registered members (Quad, degenerate_762),
642
guests, and 4
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Ton ertönt nicht.
#314651
03/09/10 20:32
03/09/10 20:32
|
Joined: Dec 2008
Posts: 605 47°19'02.40" N 8°32'54.67" E...
hopfel
OP
User
|
OP
User
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
|
Hallo liebe Community Ich bin am Schreiben eines Programms, welches beim Drücken einer Taste auf der Tastatur einen Ton ertönen lassen soll. Ich benutzte snd_play, weil es OGG-Sounds sind (Es müssen OGG-Sounds sein, da diese schnell geladen werden müssen) Nun ertönen die Töne aber völlig willkührlich, manchmal ertönen sie, manchmal nicht... Ich habe das (Zum Testen erst einmal für die Zahlenreihe auf der Tastatur) so definiert: Am Anfang vom Script: In einer Funktion: Der Code drumrum kann kaum Schuld am Problem sein, denn wenn ich schreibe:
media_play("t1.OGG",NULL,100);
funktioniert es bestens und ohne Probleme; nur funktioniert das auf anderen Computern nicht mehr, ohne einen Treiber installieren zu müssen. (Und die Symbolleiste wird mit der Zeit sehr lang, da viele Sounds abgespielt werden) Also ist das keine Option. Weiss wer was ich falsch gemacht habe? Bei anderen Spielen bei denen ich snd_play benutzt habe hats immer gut funktioniert Danke für eure Hilfe, Hopfel
Hilf mir, dir zu helfen!
|
|
|
Re: Ton ertönt nicht.
[Re: hopfel]
#314673
03/09/10 23:55
03/09/10 23:55
|
Joined: Nov 2008
Posts: 216
jane
Member
|
Member
Joined: Nov 2008
Posts: 216
|
Habs mal mit der im source-Ordner liegenden goal.ogg probiert, so funktionierts, zu mindest bei mir:
var ton1_handle_n; SOUND* ton1 = "goal.ogg";
function tastenton1() { while(1) { while(snd_playing(ton1_handle_n)) { wait(1); } ton1_handle = snd_play(ton1, 100, 0); if(!key_t){ snd_stop(ton1_handle_n; )} wait(1); } }
und z.B. in der main:
on_t = tastenton1;
Hoffe ich konnte helfen.
Last edited by jane; 03/10/10 00:01.
|
|
|
Re: Ton ertönt nicht.
[Re: jane]
#314700
03/10/10 12:05
03/10/10 12:05
|
Joined: Dec 2008
Posts: 605 47°19'02.40" N 8°32'54.67" E...
hopfel
OP
User
|
OP
User
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
|
Wie schon gesagt, am Code drumrum kann es nicht liegen, da es mit media_play problemlos funktioniert... Es funzt auch nicht mit anderen Sounds (von anderen Spielen bei denen es funktionierte) Ich schreibe aber am besten doch mal den ganzen Code rein:
#include <acknex.h>
#include <sounds.c>
SOUND* tas1 = "t1.OGG";
SOUND* tas2 = "t2.OGG";
SOUND* tas3 = "t3.OGG";
SOUND* tas4 = "t4.OGG";
SOUND* tas5 = "t5.OGG";
SOUND* tas6 = "t6.OGG";
SOUND* tas7 = "t7.OGG";
SOUND* tas8 = "t8.OGG";
SOUND* tas9 = "t9.OGG";
SOUND* tas10 = "t10.OGG";
function ton(var moise)
{
switch (moise){
case 2: snd_play(tas1,100,0); break;
case 3: snd_play(tas2,100,0); break;
case 4: snd_play(tas3,100,0); break;
case 5: snd_play(tas4,100,0); break;
case 6: snd_play(tas5,100,0); break;
case 7: snd_play(tas6,100,0); break;
case 8: snd_play(tas7,100,0); break;
case 9: snd_play(tas8,100,0); break;
case 10: snd_play(tas9,100,0); break;
case 11: snd_play(tas10,100,0); break;
default: beep();
}}
function main()
{
video_set(640,480,NULL,2);
video_window(0,vector(640,480,0),1,"Taster");
tester();
var scanlast=0;
while(1)
{
while(key_lastpressed==scanlast){wait(1);} //wird eine andere Taste gedrückt
ton(key_lastpressed); //spiele Ton ab
scanlast=key_lastpressed;
wait(1);}}
Hilf mir, dir zu helfen!
|
|
|
Re: Ton ertönt nicht.
[Re: Progger]
#314712
03/10/10 13:56
03/10/10 13:56
|
Joined: Dec 2008
Posts: 605 47°19'02.40" N 8°32'54.67" E...
hopfel
OP
User
|
OP
User
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67" E...
|
Ich hab mich jetzt schlussendlich doch entschieden das wav-format zu benutzen, hat zwar weniger Qualität und braucht länger zum laden, dafür funzt es jetzt immer und überall <.< Aber wenn ich wieder mal dieses Problem haben sollte, probiere oben besagtes aus Danke an alle die geantwortet haben :]
Last edited by hopfel; 03/10/10 13:58.
Hilf mir, dir zu helfen!
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|