Player-Problem

Posted By: gamewriter97

Player-Problem - 02/25/10 13:47

Ich habe einen Code der aber nicht funktioniert.Ich vermute mal das es am Ordner-Browser liegt.Da ich aber nciht an genügend Kenntnis dazu habe um ihn zu reparieren frage ich nun euch.

Kompletter Code:
Code:
#include <acknex.h>
#include <windows.h>
#include <default.c>


SOUND* playme;
STRING* OB_E_NAME_STR;
var mouse_left_pressed = 0;

function call_music()
{
	OPENFILENAME my_file;
	char buf[256];
	FillMemory (&my_file,sizeof(my_file),0);
	FillMemory (buf,256,0);
	my_file.Flags = OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST;
	my_file.lStructSize = sizeof(my_file);
	my_file.hwndOwner = hWnd;	
	my_file.lpstrFilter = "Musicfiles (*.mp3; *.wav; *.mid; *.ogg)	\0*.mp3;*.ogg;*.wav;*.mid\0\0";
	my_file.lpstrInitialDir = _chr("");
	my_file.lpstrFile = buf;
	my_file.nMaxFile = 255;	
	my_file.lpstrTitle = "Load Musicfile:";
	
	while (key_any)   wait(1);
	
	if (GetOpenFileName(&my_file))
	{
		str_cpy (OB_E_NAME_STR,my_file.lpstrFile);
	// add here the things to play the music. OB_E_NAME_STR is the name of the file. Example:
	 playme = snd_create(OB_E_NAME_STR); 
	 
	}
}

function quit_program()
{
  while (key_any) { wait (1); }
  sys_exit(NULL);
}


void main()
{
	level_load(NULL);
	
	on_o = call_music;
}





BMAP* hhhhh = "play.tga";
PANEL* Play =
{
bmap = hhhhh;
flags = SHOW;
}


BMAP* hhhh = "stop.tga";
PANEL* stop =
{
bmap = hhhh;
flags = SHOW;
}

BMAP* hhh = "pause.tga";
PANEL* pause =
{
bmap = hhh;
flags = SHOW;
}

BMAP* hh = "vor.tga";
PANEL* vor =
{
bmap = hh;
flags = SHOW;
}

BMAP* h = "rueck.tga";
PANEL* rueck =
{
bmap = h;
flags = SHOW;
}

BMAP* gg = "Obereleiste.tga";
PANEL* rueckggg =
{
bmap = gg;
flags = SHOW;
}
BMAP* ggfgg = "Obereleiste.tga";
PANEL* leiste =
{
bmap = ggfgg;
flags = SHOW;
}

PANEL* Sliderbutton =
{
flags = SHOW;
button(2,1, "1o.tga", "1.tga", "1o.tga", call_music , NULL, NULL); 
}


PANEL* Sliderbutton2 =
{
button(2,0, "2o.tga", "2.tga", "2o.tga", NULL , NULL, NULL); 
flags = SHOW;
}


PANEL* Sliderbutton3 =
{
button(2,0, "3o.tga", "3.tga", "3o.tga",NULL , NULL, NULL); 
flags = SHOW;
}

PANEL* slider =
{
	pos_x = 600;
	pos_y = 470;
   bmap = "Slider02.tga";
   hslider(22,6,45,"Sliderbutton.tga",6,10, slider); 
   flags = OVERLAY | VISIBLE;
}




function main()
{
  vec_set(screen_size,vector(800,800,0));
  vec_set(sky_color,vector(255,255,255)); // dark blue
  vec_set(camera.x,vector(-250,0,50));
  vec_set(camera.pan,vector(0,-15,0));
  on_o = call_music;
  mouse_mode = 2;
  while (1)
	{
		mouse_pos.x = mouse_cursor.x;
		mouse_pos.y = mouse_cursor.y;
		wait (1);
	
	
	
  Play.pos_x = 330; // gewünschte Position
  Play.pos_y = 480;

  stop.pos_x = 210; // gewünschte Position
  stop.pos_y = 490;

  pause.pos_x = 490; // gewünschte Position
  pause.pos_y = 494;

  vor.pos_x = 610; // gewünschte Position
  vor.pos_y = 494;


  rueck.pos_x = 90; // gewünschte Position
  rueck.pos_y = 490;
  
  slider.pos_x = 590; // gewünschte Position
  slider.pos_y = 450;
  
  
  Sliderbutton.pos_x = 0; // gewünschte Position
  Sliderbutton.pos_y = 1;
  
  Sliderbutton2.pos_x = 90; // gewünschte Position
  Sliderbutton2.pos_y = 2;

  Sliderbutton3.pos_x = 140; // gewünschte Position
  Sliderbutton3.pos_y = 2.9 ;
 
  leiste.pos_x = 0; // gewünschte Position
  leiste.pos_y = 420;
 
 	////////////////////////////////////////////////
 	if((mouse_pos.x > Play.pos_x && mouse_pos.x<(Play.pos_x+Play.size_x)) &&
 		 (mouse_pos.y > Play.pos_y && mouse_pos.y<(Play.pos_y+Play.size_y)) && 
 		 mouse_left_pressed == 0)
 	{
 		if(playme != 0)
 		snd_play(playme,100,0);
 		
 	}
 
 	////////////////////////////////////////
 	wait(1);
 }
 
}




Browser Code:

Code:
function call_music()
{
	OPENFILENAME my_file;
	char buf[256];
	FillMemory (&my_file,sizeof(my_file),0);
	FillMemory (buf,256,0);
	my_file.Flags = OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST;
	my_file.lStructSize = sizeof(my_file);
	my_file.hwndOwner = hWnd;	
	my_file.lpstrFilter = "Musicfiles (*.mp3; *.wav; *.mid; *.ogg)	\0*.mp3;*.ogg;*.wav;*.mid\0\0";
	my_file.lpstrInitialDir = _chr("");
	my_file.lpstrFile = buf;
	my_file.nMaxFile = 255;	
	my_file.lpstrTitle = "Load Musicfile:";
	
	while (key_any)   wait(1);
	
	if (GetOpenFileName(&my_file))
	{
		str_cpy (OB_E_NAME_STR,my_file.lpstrFile);
	// add here the things to play the music. OB_E_NAME_STR is the name of the file. Example:
	 playme = snd_create(OB_E_NAME_STR); 
	 
	}
}


Posted By: Robso661

Re: Player-Problem - 02/25/10 15:02

könntest du bitte auch beschreiben was nicht funktioniert...
also warum es nicht geht
Posted By: gamewriter97

Re: Player-Problem - 02/25/10 17:13

Das Programm steckt.wenn ich ich bzw. er in den ordner browser geht und dann eine datei auswählt und dann auf öffnen klickt!Dann steht noch irg. ne fehlermeldung da!
Posted By: Rei_Ayanami

Re: Player-Problem - 02/25/10 17:28

nenne die fehlermeldung -.-
Posted By: Superku

Re: Player-Problem - 02/25/10 17:28

Quote:
Das Programm steckt.wenn ich ich bzw. er in den ordner browser geht und dann eine datei auswählt und dann auf öffnen klickt!Dann steht noch irg. ne fehlermeldung da!


Haha na super, jetzt beginnt das lustige Ratespielchen, welche Fehlermeldung das ist oder wie? Warum schreibst du nicht, was genau dein Problem ist, speziell welche Fehlermeldung?
Posted By: gamewriter97

Re: Player-Problem - 02/25/10 18:49

Bei mp3 dateien wenn ich öffne kommt:

3 Stück Hintereinander!

"Invalid arguments in call_music "

"Emty Pointer in call_music"

"Can´t play sound wav/only mono/only"

Und bei manchen mp3Dateien, stürzt das programm ab, dass heißt :
http://img.webme.com/pic/c/com-soft-tec/shot1.jpg

Posted By: Robso661

Re: Player-Problem - 02/25/10 20:30

was passiert denn wenn du auf debug klickst?
Posted By: gamewriter97

Re: Player-Problem - 02/26/10 12:32

debug?Wo ist der schalter?
Posted By: atari98

Re: Player-Problem - 02/26/10 12:33

Wenn dieses Problem behoben werden könnte würde mir auch geholfen werden!
Posted By: Robso661

Re: Player-Problem - 02/26/10 12:58

du hast doch ein bild angehängt, indem man sieht was passiert wenn das programm abstürtzt. dann klick, wenn sich dieses "das programm muss beendet werden" fenster öffnet, auf debug da ist doch ein button und schreib mal was dann passiert


habe noch ne frage:
passiert, das mit dem stecken bleiben nur wenn du mp3 dateien öffnest...

könntest du einmal dein ganzes peojekt hochladen? dann würde ich es mir runterladen und teste es einmal selbst... wäre echt ne hilfe für mich
Posted By: Progger

Re: Player-Problem - 02/26/10 14:02

mp3 sounds kann man nicht mit snd_play abspielen das muss man mit media play tun
Hoffe ich konnte helfen
MFG progger
Posted By: atari98

Re: Player-Problem - 02/26/10 14:15

sTIMMT
Posted By: gamewriter97

Re: Player-Problem - 03/01/10 13:07

Aber wmv gehen ja auch nicht!
Posted By: atari98

Re: Player-Problem - 03/10/10 13:42

k.A !Ich kann dir da auch nicht weiter helfen!
Posted By: Progger

Re: Player-Problem - 03/10/10 14:21

ich glaube nicht das wmv unerstützt wird muss mal schauen
konnte das hier finden :
In Windows sind Default-CODECs für einige Grundvideoformate wie etwa MPEG-2, WMV oder unkomprimierte AVI-Dateien enthalten. COCECs für andere Video- oder Audioformate stehen auf dem Internet frei zur Verfügung. Eine allgemeine DODEC-Sammlung für fast alle Formate kann von http://sourceforge.net/projects/ffdshow heruntergeladen und unter der GPL-Lizenz verwendet werden. Um .ogg-Dateien abzuspielen, finden Sie einen Installer für Ogg-Vorbis-DirectShow-Filter (oggds0994.exe) im externen Verzeichnis. Installieren Sie diesen, indem Sie die .exe Datei starten. Der Ogg-Vorbis-Filter wurde von Tobias Waldvogel (http://tobias.everwicked.com ) entwickelt und kann frei für private und kommerzielle Zwecke verwendet und vertrieben werden.
Viele Versionen von Videoformaten verwenden dieselbe Dateierweiterung. Daher sagt die Extension alleine (etwa .avi oder .mpg) noch nichts darüber aus, ob sich ein Video auf Ihrem PC abspielen läßt oder nicht. Um zu testen ob ein CODEC für dieses Format auf Ihrem PC installiert ist, starten Sie ein Einzeilen-Skript, das lediglich ein Video des erforderlichen Typus´ abspielt: function main() { media_play("filename.ext",NULL,100); }

EDIT: WMV ist ein VIdeoformat benutze dazu media_loop


MFG Progger
Posted By: Bunsen

Re: Player-Problem - 03/16/10 19:32

@gamewriter97

Du musst das STRING Objekt erst instanziieren, bevor Du es als Parameter für "str_cpy(...)" benutzen kannst:

Code:
STRING* OB_E_NAME_STR = "";


Erst die Zuweisung bewirkt, dass der Compiler der Variablen eine gültige Speicheradresse reserviert.
Du kannst stattdessen auch "str_create(...)" in einer Funktion aufrufen, um eine Instanz zu schaffen:

Code:
STRING* OB_E_NAME_STR; // Pointer zeigt auf Adresse 0!

function main()
{
    OB_E_NAME_STR = str_create(""); // Erzeuge Leerstring
}



Dies sollte zumindest die ersten beiden Fehler bereinigen. Wenn du einen (einfachen) Mediaplayer programmieren willst, schaue dir im work-Verzeichnis doch mal das Programm "Mci.c" an.

MFG,
Beck Bunsen
Posted By: atari98

Re: Player-Problem - 03/18/10 11:03

aha

SPAMM
© 2024 lite-C Forums