Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Meandor

Frischling

  • »Meandor« ist der Autor dieses Themas

Beiträge: 55

Wohnort: Oberhausen

Beruf: Student

  • Private Nachricht senden

1

18.04.2005, 16:53

einfachen Sound erstellen

Ich würde gerne wissen wie man Sounds schreibt!
Ich bin Neuling im Umgang mit C++ und ich weiß das man zum Beispiel mit
printf("Es piepst zweimal! \a\a"); zwei Töne erzeugt.

kann man den nicht auf ähnliche Art sagen welche Frequenz und wie lange er diesen Ton halten soll. Man könnte ja damit kleine Sounds selbermachen. Ohne gleich irgendwelche tollen mp3 oder sowas abspielen soll.(Was bestimmt schwieriger auch ist in den Quellcode mit einzubinden).

Benötige ich denn dafür bestimmte #includes??

Möchte den Pc einfach mal für mein "Schiffe versenken" Spiel singen lassen!!:-)

Ich selber habe die Autoren Version 6 von Heiko`s Buch. Geht das damit überhaupt. Freue mich über viele Antworten bzw. Links wo ich Hilfe bekommen kann.

MfG Jens

2

18.04.2005, 17:39

das ist ne gute frage.
mit basic ging das.
(da kommen erinnerungen an meinen cpc 464 wieder...*seufz*)

ob's so was direkt als funktion in c gibt..hmmm....
also ersma, einfache wav's kannst du auch mit sndPlaySound abspielen. das is trivial.

*surf*
hm also so wies aussieht kannst du die waveform-functions
des windows multimedia sdk's nutzen.:

waveOutWrite & co.

guck mal hier, das müsste helfen:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_waveform_audio.asp

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

18.04.2005, 18:34

unter windows: Beep

Meandor

Frischling

  • »Meandor« ist der Autor dieses Themas

Beiträge: 55

Wohnort: Oberhausen

Beruf: Student

  • Private Nachricht senden

4

18.04.2005, 23:00

danke

Erst einmal danke Dot für die Antwort! Das mit den wav`s werde ich auch gleich mal ausprobieren mit
Beep( 150, 500 ); klappt es auf jeden Fall

man sollte aber auch noch sagen das man #include <windows.h>
mit einbinden sollte sonst meckert der Compiler.

Meandor

Frischling

  • »Meandor« ist der Autor dieses Themas

Beiträge: 55

Wohnort: Oberhausen

Beruf: Student

  • Private Nachricht senden

5

18.04.2005, 23:45

mit wav klappt das nicht

Hallo also ich habe mich jetzt die wav's angeschaut sieht ja relativ einfach aus. Klappen tut es nicht!

ich möchte meine autos.wav Datei abspielen mit meinem Konsolen- Programm.
1.
Dazu muss ich doch ersteinmal die autos.wav Datei in meinen Projekt Ordner stellen.

2.
#include <windows.h> weil sonst wieder nichts funktioniert.

3.
in der main()
PlaySound("autos", hInst, SND_RESOURCE | SND_ASYNC); ?????
funktioniert so nicht muss ich noch eine Funktion selber dazu schreiben?

oder 3.
BOOL sndPlaySound ("autos.WAV",SND_ASYNC);

also irgendwie lässt sich das so nicht übersetzen hier sind aber auch keine Beispiele bei msdn was mache ich denn falsch??
Kann mir jemand helfen wie ich meine "autos.WAV" Datei abspielen kann.

Also mit Resourcen kenne ich mich nicht so so aus. Ich will das nur abspielen. Auf der Konsole.

Wäre ech echt dankbar wenn mir einer helfen könnte.

Jens

6

18.04.2005, 23:56

hast du auch die winmm.lib eingebunden?
schreib mal
#pragma comment(lib, "winmm.lib")
in dein cpp.file.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#include <windows.h>
#include <conio.h>
#pragma comment(lib, "winmm.lib")

int main(){
    sndPlaySound("wavefile.wav", NULL);

   getch();
   return 0;

}


obriger code läuft bei mir prob-los.

Meandor

Frischling

  • »Meandor« ist der Autor dieses Themas

Beiträge: 55

Wohnort: Oberhausen

Beruf: Student

  • Private Nachricht senden

7

19.04.2005, 08:06

Dank

Nee hatte ich natürlich nicht!!
EIN Hoch auf den Commodore 23! Merci beaucoup!
Jens

8

08.05.2006, 11:05

hm hab da mal ne frage:

was muss man anstellen, damit es den sound im hintergrund abspielt und das programm nicht wartet, bis der sound fertig ist?


ich hatte das schonmal in nem projekt zusammenbekommen, aber musste vor kurzem formatieren und etz ists futsch :)

also soll nur ne simple wavedatei sein mit sndPlaySound.

wenn ich z.b. das hier verwende:

C-/C++-Quelltext

1
sndPlaySound("blablub.wav", SND_SYNC);


dann spielt er zwar die wave ab, aber das programm wartet bis es fertig ist.

mfg
Drac

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

08.05.2006, 11:45

ich sag jetzt einfach mal ganz keck:

C-/C++-Quelltext

1
sndPlaySound("blablub.wav", SND_ASYNC);


und schätze, dass die msdn dir das auch verraten hätte inklusive wie man den sound dann wieder stoppt :)

10

08.05.2006, 12:44

ach k thx ;)

konnte mit dem begriff asynchron nicht wirklich was anfangen.

dachte das wär eher sowas wie stereokanal vertauschen, falls musik falsch abgespielt wird.


thx jedenfalls

DRac

Werbeanzeige