potreboval by som poradit pri praci s multimediami lebo mam spravit program ktory prehrava videa a pesnicky zastavuje ich atd... v podstate taky prehravac len jednu vec na tom neviem a neviem na to prist....na zaciatku musim zadat s klavesnice nazov mp3-ky alebo videa ktore chcem prehrat a neviem ako mma do prikazu :
mciSendStringA("play mys3.mpeg", 0, 0, 0);
spravit to aby som si tam mohol sam zadat nazov videa alebo mp3 ktore chcem prehrat, lebo takto mi to prehrava iba vopred naprogramovane video. myslim ze to bude cez argument funkcie len neviem ako to dat do tohto prikazu namiesto toho nazvu videa. dakujem.
Problem s argumentom funkcie v C
Re: Problem s argumentom funkcie v C
A ako máš urobené to načítanie názvu súboru z klávesnice?
Re: Problem s argumentom funkcie v C
int main(int argc, char argv)
no nejak takto som rozmyslal...spustalo by sa to cez prikayovz riadok
no nejak takto som rozmyslal...spustalo by sa to cez prikayovz riadok
Re: Problem s argumentom funkcie v C
Tak tam skontroluj, či si zadal dosť parametrov, či ten súbor existuje a potom namiesto toho názvu použiješ argv[1] (a to isté aj pri tej kontrole, či ten súbor existuje).
Re: Problem s argumentom funkcie v C
takze vlastne to bude takto?
mciSendStringA("play argv[1] ", 0, 0, 0);
+ ta kontrola?
no spravil som to tak ale nejde mi to ked to pustim cez prikazovy riadok tak mi to neormalne nabehne ale nic mi to neprehraje tu je aj cely program
mciSendStringA("play argv[1] ", 0, 0, 0);
+ ta kontrola?
no spravil som to tak ale nejde mi to ked to pustim cez prikazovy riadok tak mi to neormalne nabehne ale nic mi to neprehraje tu je aj cely program
// 25c.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#pragma comment( lib, "winmm.lib" )
#include <stdio.h>
#include <windows.h>
#include <conio.h>
int main(int argc,int argv[])
{
char menu,z,pIn1,pIn2;
/* osetrenie vstupu */
if (argc != 3) {
printf("usage: zadanie name_of_file\n");
return 1;
}
pIn1=argv[1];
if (NULL == pIn1) {
printf("Neviem otvorit subor %s na citanie\n", argv[1]);
perror("-- ");
return 1;
}
pIn2=argv[2];
if (NULL == pIn2) {
printf("Neviem otvorit subor %s na citanie\n", argv[2]);
perror("-- ");
return 1;
}
printf("Menu \na) prehranie videa\nb) prehranie skladby\n");
menu=getch();
if(menu=='a') //video
{
printf("\n");
printf("Play: 1\n");
printf("Pause: 2\n");
printf("Stop: 3\n");
z=getch();
if (z=='1'){
mciSendStringA("play argv[1]", 0, 0, 0);
z=getch();
}
if (z=='2'){
mciSendStringA("pause argv[1]", 0, 0, 0);
z=getch();
}
if (z=='3'){
mciSendStringA("stop argv[1]", 0, 0, 0);
z=getch();
}
}
if(menu=='b') //audio
{
printf("\n");
printf("Play: 1\n");
printf("Pause: 2\n");
printf("Stop: 3\n");
z=getch();
if (z=='1'){
mciSendStringA("play argv[2]", 0, 0, 0);
z=getch();
}
if (z=='2'){
mciSendStringA("pause argv[2]", 0, 0, 0);
z=getch();
}
if (z=='3'){
mciSendStringA("stop argv[2]", 0, 0, 0);
z=getch();
}
}
getch();
return 0;
}
Re: Problem s argumentom funkcie v C
Budeš musieť použiť nejakú funkciu na spájanie reťazcov, alebo pre formátované reťazce (niečo ako sprintf ale bolo by vhodné, aby to výsledný reťazec automaticky alokovalo; zdá sa mi, že vo WinAPI taká funkcia je, ale nechce sa mi hľadať).
Takže je dosť možné, že tam taká funkcia nie je a teda budeš musieť ten reťazec alokovať ty (ale použiť malloc + strlen nie je až tak zložité).
Takže je dosť možné, že tam taká funkcia nie je a teda budeš musieť ten reťazec alokovať ty (ale použiť malloc + strlen nie je až tak zložité).
Re: Problem s argumentom funkcie v C
diky uz som to spravil 