Odtwarzacz muzyki - czy można stworzyć własne biblioteki??

0

Witam!!
Pisałem już prosty odtwarzacz mp3 z wykorzystaniem bass.h
Jak takie biblioteki powstają?? Jak bym chciał taką sam zaprogramować,
to od czego muszę zacząć?? Nie mogę nigdzie znaleźć odpowiedzi

0

Zerknij w źródła biblioteki.

0

to znaczy??

to sa biblioteki dll więc raczej nie wy edytuje kodu

0

Najpierw zastanów się czego od takiej biblioteki wymagasz. Jeśli np dekodowania MP3 to poszukaj w sieci jak odkodować MP3 do prostego PCM. Jeśli wysyłania zwykłego nieskopresowanego PCM (wave) do karty dźwiękowej, to poszukaj jakich API się do tego używa i jak się ich używa.

0

Jak takie biblioteki powstają??

Ktoś siada i pisze.

Jak bym chciał taką sam zaprogramować, to od czego muszę zacząć??

Od znalezienia opisu formatu pliku MP3. Ale z góry ci mówię, że użyty w mp3 algorytm kompresji jest bardzo złożony i nie do napisania w jeden wieczór.
Następnie zdekodowane dane (tzw. PCM) trzeba wysłać do karty dźwiękowej, używając np. wbudowanej w system biblioteki DirectSound.

Windows ma również wbudowane kodeki do wielu formatów (można też instalować własne).
W ten sposób można odtworzyć mp3-kę nawet bez żadnych BASSów.

#include <windows.h>
#include <dshow.h>
#pragma comment (lib, "ole32.lib")
#pragma comment (lib, "strmiids.lib")

int main()
{
   IGraphBuilder *graph;
   IMediaControl *control;
   IMediaEvent *event;
   long dummy;

   CoInitialize(NULL);
   CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (LPVOID*)&graph);
   graph->QueryInterface(IID_IMediaControl, (LPVOID*)&control);
   graph->QueryInterface(IID_IMediaEvent, (LPVOID*)&event);

   graph->RenderFile(L"c:\\sciezka\\do\\utworu.mp3", NULL);
   control->Run();
   event->WaitForCompletion(INFINITE, &dummy);

   event->Release();
   control->Release();
   graph->Release();
   CoUninitialize();
}
0

ok, patrząc na twój kad to nie mam pojęcia co to jest ;D, możesz mnie skierować gdzie mam zacząć naukę tego ??

0

Moim głównym źródłem wiedzy o programowaniu pod Windows jest help od Visual Studio.

0

ok, więc muszę się zaopatrzyć w visual studio

1 użytkowników online, w tym zalogowanych: 0, gości: 1