Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pustanje muzike u console app.

[es] :: C/C++ programiranje :: Pustanje muzike u console app.

[ Pregleda: 2333 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Helionprime
Bajic Dusko
Banja Luka

Član broj: 206638
Poruke: 57
*.teol.net.



+1 Profil

icon Pustanje muzike u console app.24.01.2009. u 14:16 - pre 185 meseci
Pozz. Hoću da mi program kad se pokrene, da pusti pjesmu. I to ne tako da pozove Winamp ili mediaplayer.
Ja sam otkucao nešto i sad mi treba pomoć.
Radim u DevCpp-u.
Evo konkretna pitanja:

1. Pjesma radi 30-ak sekundi i prekine. Hoću da završi do kraja
2. Hoću da kontrolišem jačinu zvuka jer je po defaultu na maksimumu.
3. Šta treba da se uradi da bi se umjesto wav fajla koristio mp3

Code:

#include <windows.h>
#include <stdlib.h>
//linkovao sam winmm.a
main ()
{
     
   
     
     PlaySound("0.wav",0, SND_FILENAME);  // PlaySound("0.wav",0, SND_FILENAME|SND_ASYNC); će da otpjeva
                                          // čitavu pjesmu, ali ovom slučaju SND_ASYNC čeka sljedeći PlaySound
                                          // poziv i samim tim preskače o.wav i pusta 1.wav
    PlaySound("1.wav",0, SND_FILENAME);
     system("pause");
         
         }
// ne može jednostavnije :)


i ako neko ima ideju: Kako da se pjesma uključi unutar programa, a ne da bude externi fajl?

[Ovu poruku je menjao Helionprime dana 24.01.2009. u 15:50 GMT+1]

[Ovu poruku je menjao Helionprime dana 25.01.2009. u 11:44 GMT+1]
"Dont worry about thing, 'cause every lil' thing is gonna be allright" Bob Marley
 
Odgovor na temu

Helionprime
Bajic Dusko
Banja Luka

Član broj: 206638
Poruke: 57
*.teol.net.



+1 Profil

icon Re: Pustanje muzike u console app.25.01.2009. u 10:43 - pre 185 meseci
Ima li ikoga. Pa nije valjda da sam jedini koji ovo radi. !!???

Uspio sam da riješim ovo što pjeva 30-ak sekundi. Sad radi čitava pjesma, ali troši 100% procesora, i to nije ono što sam htio postići !!! (" ali radi ")

Uspio sam da ubacim pjesme unutar exe fajlova, tako da više nisu lokalni fajlovi. (s tim da je exe fajl 150 MB i treba 3 minuta da se kompajlira , jer je wav fajl u pitanju a ne mp3 )

__________________________________

Zna li neko odgovor na drugo i treće pitanje ..
"Dont worry about thing, 'cause every lil' thing is gonna be allright" Bob Marley
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.adsl.net.t-com.hr.



+9 Profil

icon Re: Pustanje muzike u console app25.01.2009. u 10:52 - pre 185 meseci
Koristi funkciju mciSendString i njome ćeš moći reproducirati i mp3 datoteke i mnoge druge.

http://www.apitalk.com/document.php?id=1184208002_1
 
Odgovor na temu

Helionprime
Bajic Dusko
Banja Luka

Član broj: 206638
Poruke: 57
*.teol.net.



+1 Profil

icon Re: Pustanje muzike u console app.25.01.2009. u 12:16 - pre 185 meseci
I negde sam pročitao da mciSendString ne može da reprodukuje resource fajlove.

Code:

//RESOURCE.H

#ifndef RESOURCE_H
#define RESOURCE_H
#define MUSIC 9001
#define MUSIC1 9002


#endif


Code:

//RESOURCE.RC
#include "resource.h"
MUSIC MPEGVIDEO "3.mp3"
MUSIC1 WAVE "0.wav"


Kako da reprodukujem ove fajlove "0.mp3" i "3.mp3" ( ili ipak moraju biti lokalni fajlovi )

[Ovu poruku je menjao Helionprime dana 25.01.2009. u 13:30 GMT+1]

[Ovu poruku je menjao Helionprime dana 25.01.2009. u 15:32 GMT+1]
"Dont worry about thing, 'cause every lil' thing is gonna be allright" Bob Marley
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-a-1.sezampro.yu.



+395 Profil

icon Re: Pustanje muzike u console app.25.01.2009. u 12:25 - pre 185 meseci
Pogledaj ovde :
http://msdn.microsoft.com/en-us/library/ms712876(VS.85).aspx
Viva lollapalooza
 
Odgovor na temu

Helionprime
Bajic Dusko
Banja Luka

Član broj: 206638
Poruke: 57
*.teol.net.



+1 Profil

icon Re: Pustanje muzike u console app.25.01.2009. u 12:36 - pre 185 meseci
DearBear, znam za to. To sam i uradio sa PlaySound.
Problem je što se u tom slučaju koriste wave fajlovi (a imam ih 4 - 5) i kad ih sve potrpam u resource dobije se gigantski exe fajl.
Iz tog razloga želim da u resource stavim mp3.

Odustao sam od PlaySound-a. Zato pitam da li mciSendString može da čita resource ?
"Dont worry about thing, 'cause every lil' thing is gonna be allright" Bob Marley
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Pustanje muzike u console app.25.01.2009. u 12:50 - pre 185 meseci
mozes i da iskoristis DirectX Sound. Izvini za namespace, nisam video da je cpp forum, ali svejedno mozes directx audio da koristis i iz C++a.









[Ovu poruku je menjao mmix dana 25.01.2009. u 14:16 GMT+1]
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Helionprime
Bajic Dusko
Banja Luka

Član broj: 206638
Poruke: 57
*.teol.net.



+1 Profil

icon Re: Pustanje muzike u console app.25.01.2009. u 14:00 - pre 185 meseci
Hvala mmix na prijedlogu. no ja sam još "noob" za te malo "vičnije" stvari. No u svakom slučaju hvala.

Koncentrisao sam se na ovo što mi je itf predložio. Završio sam kod koristeći mciSendString funkciju, jer sam uspio da pustim mp3 fajl, i mogu da reprodukujem pjesmu u cijeloj dužini, a da pri tome neznatno trošim resurse procesora.
Znači to mi se sviđa :)

Još samo treba da skontam da li mogu fajlovi da se upakuju u EXE . Znam neko će reći da sam dosadan, ali ovaj program mora da radi. Stoga ne smem da dozvolim da zbog slučajnog nestanka audio fajlova propadne sav trud.


"Dont worry about thing, 'cause every lil' thing is gonna be allright" Bob Marley
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.237.*



+9 Profil

icon Re: Pustanje muzike u console app.26.01.2009. u 08:44 - pre 185 meseci
Mp3 se može staviti u exe preko resursa (RCDATA), no da bi ga tvoja aplikacija mogla koristiti prvo taj mp3 moraš extractirati iz EXE u neki temp.mp3 pa tek onda taj temp.mp3 "svirati". Najbolje ti je obaviti sva extractiranja odmah na početku programa (nekakav "loading" aplikacije), a kada aplikacija završi izbrisati sve extractirane datoteke.

Evo code-a iz Delphija:

Code:
procedure TForm1.Button2Click(Sender: TObject) ;
var
 rStream: TResourceStream;
 fStream: TFileStream;
 fname: string;
begin
 {this part extracts the mp3 from exe}
 fname := ExtractFileDir(Paramstr(0))+'Intro.mp3';
 rStream := TResourceStream.Create(hInstance, 'Intro', RT_RCDATA) ;
 try
  fStream := TFileStream.Create(fname, fmCreate) ;
  try
   fStream.CopyFrom(rStream, 0) ;
  finally
   fStream.Free;
  end;
 finally
  rStream.Free;
 end;
 {this part plays the mp3}
 MediaPlayer1.Close;
 MediaPlayer1.FileName:=fname;
 MediaPlayer1.Open;
end;


Ovdje je to prikazano kako se radi pomoću MediaPlayer komponente, dok ti koristi mciSendString ako već ne koristiš Delphi ili C++ Builder.
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
78.90.101.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: Pustanje muzike u console app.26.01.2009. u 09:04 - pre 185 meseci
Opravdano je pitanje neophodnosti slaganja mp3 fajla na disk, jer objekat taj fajl (nadam se) ionako učitava u memoriju pre izvođenja. Ukoliko je biblioteka otvorena, mogla bi da se izmeni da preuzme fajl i na načine koji bi izbegli eksplicitno snimanje fajla bilo gde.
Ipak se ++uje.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Pustanje muzike u console app.

[ Pregleda: 2333 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.