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

Anonymous

unregistriert

1

12.02.2005, 18:13

Init() Problem mit dem pfad

Hallo zusammen

ich habe TriBase engine in einem Dialog basirerendes MFC projekt eingebunden und möchte eine mp3 datei abspielen.mein mp3 datei liegt auf C:\ und heist "ozcan deniz"

wie kann ich mein pfad der Init() funktion über geben?

etwa so?
f(m_mp3->Init("C:\","ozcan deniz"))

im buch wird so der pfad angegeben
if(m_pAction->Init("Data\\Action.mp3")) TB_ERROR("Fehler beim Laden der Action-Musik!", TB_ERROR);

wieso "Data" das verstehe ich nicht wo ist der laufwerks angabe?

ich bin anfänger
komme nicht weiter :(


Für hilfe bin ich seher Dankbar!

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

2

12.02.2005, 18:32

Die Sache ist ganz einfach! wenn kein laufwerksbuchstabe angegeben wird, dann geht das Programm davon aus, dass der Pfad ausgehend vom aktuellen Verzeichnis aufgerufen wird. also wenn dein programm gerade im verzeichnis "C:\MeinSpiel\" liegt, und mit "Data\Action.mp3" aufgerufen wird, so wie bei david, dann lädt das programm die datei aus dem verzeichnis: "C:\MeinSpiel\Data\Action.mp3".
Wenn du nich willst, dass vom aktuellen Verzeichnis ausgegangen wird, sondern ein ganz anderer Pfad genommen wird, dann gibst du den Pfad mit Laufwerksangabe an, also einfach "C:\ozcan deniz.mp3"

Jetzt muss man noch wissen, dass man bei C++ nicht C:\ schreibt, sondern immer doppelte \ macht, also "C:\\ozcan deniz.mp3" das sieht dann also so aus:

C-/C++-Quelltext

1
if(m_mp3->Init("C:\\ozcan deniz.mp3")) TB_ERROR("Fehler beim Laden der Action-Musik!", TB_ERROR);


Das TB_ERROR nach dem if bedeutet einfach nur, dass ein Fehler angegeben wird, wenn der Pfad nich gefunden wird. Ich hoffe das hilft dir.

Anonymous

unregistriert

3

12.02.2005, 18:37

Dankeee Spik
für deine schnelle antwort.
mal schauen obs klappt ich hoffe nur ich hör was :)

4

12.02.2005, 22:10

Das sollte klappen. Aber dein Code (can) kann ja schon nicht klappen, da da die Datei bezeichnung .mp3 fehlt. woher soll der denn sonnst wissen um was für ne Datei es sich handel?

Anonymous

unregistriert

5

13.02.2005, 19:48

Danke Devil

Es hat geklappt :)
Aber nur leider mit mp3 wenn ich eine .midi Datei Abspielen möchte
geht es nicht.

ich bin muziker und kein programmirer
weil ich vor 3 jahren eine idee hatte
haben ich angefangen vc++ zulernen und kann jetz mit dem MFC kleine programme schreiben.der weg wahr Hart bis hier her. Mein Projekt hat was mit Midi zutun.Mein Ziel ist es ein Midi Begleitautomat zu schreiben.

Da soll DirectMusik genau das richtige sein.
Ich habe mich 2 jahre lang mit eine klasse namen MaximumMidi geäerget
bis ich zum schluss merkte das die klasse das nicht kann was ich brauche.
denn Die Noten im MidiFile in echtzeit ändern wenn der song spielt.
das ist die voraussetzung um Akkort erkennung zu progrmmiren.

Bei DirectMusick sollen alle vorraussetzungen da sein.

ich weiss ihr werdet denken junge du bist im falschem forum
wenn jemand ein forum kennt das mit DirectMusik was zu tun hat dann her damit.ich kenne keins wie das der fall ist für spiele forums .

Aber ist Musik nicht ein teil von Spielen ich denke ich gehöre als verwante hier her.sonst weiss ich nicht wo ich hin soll :)

David Spielt auch Keyboard schade das er DirectMusic nicht mit in die TriBase Engine aufgenommen hat. denn andere .Wav dateien kann man ja auch rumschrauben FQ Ändern usw warum soll ich nicht mal ne note im midifile ändern mit der TriBase Engine.

Die TriBase Engine Könnte auch eine klasse für Musiker sein die nicht nur songs abspielen möchten.

denn es gibt so was nicht. und für einen anfänger wie ich ist es zu schwer eine Engine selbst zu schreiben ich bin glücklich wenn ich mit methoden und deren parameter umgehen kann.

Ich möchte mein programm schreiben und in meine musik welt wieder zürückkeren so lange ich auf der welt der programmirer bin und mein Aufgabe nicht erfüllt habe kann ich nicht nach hause
des hab eine bitte an euch hilf mir bitte damit ich wieder nach hause komm :)


Ich denke als ersten muß ich DirecktMusik in die TriBase Engine einbinden. und versuchen eine midifile abzuspielen und die noten im midifile in echtzeit zuänder

kann mir jemand sagen bitte wie ich das machen kann.

Mein projekt ist ein MFC Dialog Anwendung unter c++.net 2003
Mp3 Konnte ich Abspielen.


Grüße Can

6

14.02.2005, 17:48

Ich weiß nicht, ob MCI die Funktionen bietet die du zum ändern bruachst, aber du kannst mit mci midi avi usw abspiele. Bei DirectMusic, würde ich mal gucken, wie man damit was macht. siehe DXSDK. Wenn de das vertsanden hast, überlegst du dir, wie du eine Klasse mit bsw dem namen tbDirectMusic aufbauen würdest, bring auf jeden fall eine Struktur in deinen source code, damit man da nicht den überblick verliert. Und dann...

Und wenn de Probleme hast, kannst de die ruhig hier stellen. Bin mir net sicher aber haben wir net auch ein Forum für andere DirectX Komponenten?. Kann das gerade net shehhen.egal. Wenn de Probs hast, hier posten.

Anonymous

unregistriert

7

14.02.2005, 19:08

Danke Devil

MCI ist nicht für mich denke ich DirectMusic kann styles und akkorde erkennen und der sythesheiser ist auch da.für meine sound
das ist genau das was ich brauche.
ich habe im net gelesen das die klasse jetz DirectAudio heist
DirectSound und DirectMusic sind in der klasse zusammen gefast.


ich habe leider keine dokumentation gefunden.ich habe das DirectX9c
vom buch CD installiert.

Dies sind in Directx9c C++ Dokumentation

1:The DirectX Software Development Kit
2:DirectX Graphics
3:DirectInput
4:DirectSound
5:DirectX Glossary

Aber keine spur von DirectMusic oder DirectAudio
Git es sie wirklich nicht oder ist sie bei euch drauf?
Habe ich was falsch gemacht..

Grüße Can

8

14.02.2005, 19:36

Ich habs auch installiert(von CD) und bei mir sind die Gruppen, DirectX Graphics, DirectInput, DirectPlay, DirectSetup, DirectMusic, DirectSound, DirectShow, DirectX Media Objects. Und noch nen paar andere. Scheint irgend etwasnet ganz richtig zu sein(bei dir). Muss mal gucken ob ich dir die richitge Datei mal schicken kann, ich mein, das würde aber alles in eine seperate (Windows)interne Help geeschrieben, was das geben der Datei verhindert.

Anonymous

unregistriert

9

14.02.2005, 19:56

eee echt wieso sind sie bei mir nicht drauf soll ich neu installiren?
wenn du die datei mir schicken kannst.und sagst was ich damit machen soll.

wehre ich sehr froh
can28@web.de

Anonymous

unregistriert

10

14.02.2005, 20:07

Danke devil
ich habs.
C:\Programme\Microsoft DirectX 9.0 SDK (Summer 2004)\Documentation\DirectX9

ich erstelle am besten eine verklüpfung zum desktop.
ich kann leider kein englisch.. das wird hart :)

Werbeanzeige