Strona 1 z 3

Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 23 grudnia 2008, 00:19
przez Frani0
Witam szukam jakiejś darmowej biblioteki do odtwarzania mp3 interesują mnie głownie takie funkcje jak odtwarzania, pauzowania, pogłaśniania i zciszania no i aby możliwe było granie 2 utworów na raz(dokładnie chodzi mi o to że jeden się zcisza drugi pogłaśnia)

jeśli słyszeliście o takiej najlepiej z dobrą dokumentacją i przykładami użycia

tu mam kilka ale nie wiem jak ich użyć
mpglibdll
decmpa
libmpg123
fleck

jakoś wogóle nie mogę się w tym połapać pomożecie?

p.s jeśli chcecie to mam odczyt id3-tag v1 z mp3

Re: Darmowa biblioteka mp3

Nowy postNapisane: niedziela, 28 grudnia 2008, 15:02
przez Witold

Re: Darmowa biblioteka mp3

Nowy postNapisane: poniedziałek, 29 grudnia 2008, 11:04
przez Frani0
właśnie robię na basie tylko to jest płatna biblioteka i to 750 zł :( muszę przejść na bezpłtane rozwiązanie tylko kompletnie nie wiem jak użyć tamtych bibliotek :((

Re: Darmowa biblioteka mp3

Nowy postNapisane: poniedziałek, 29 grudnia 2008, 11:46
przez polymorphism
No najlepiej zacząć od przejrzenia dokumentacji tych bibliotek. API libmpg123 wygląda na dość proste, są przykłady no i binarki (choć pewnie pod VC).

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 30 grudnia 2008, 19:47
przez Witold
Frani0 napisał(a):muszę przejść na bezpłtane rozwiązanie tylko kompletnie nie wiem jak użyć tamtych bibliotek :((


ibmpg123, decmpa , mpglib.dll to chyba jedyne dekodery mp3 -> dane wav pcm. Bawiłem się chwilę mpglib.dll, udało mi się zdekodować utwór mp3 do wav’a. Te zdekodowane dane trzeba wysłać do odtworzenia np. do waveOut. Potrafisz to zrobić ?

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 30 grudnia 2008, 20:38
przez Frani0
nie wiem ;) za 3-4 dni będę jeszcze raz do tego podchodził puki co robiłem na bass.dll to tam trzeba było tylko play, pause i było ok a tu nie wiem ;)

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 3 lutego 2009, 17:38
przez Frani0
Wiem pewni to głupie pytania ale.... robię na tym mpg123 jeśli można to nazwać robieniem mianowicie
Kod: Zaznacz cały
#pragma hdrstop
#include <mpg123.h>
#include <stdio.h>

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
        mpg123_handle *m;
        int i;
        if(argc < 2)
        {
                 fprintf(stderr, "\nI will give you the estimated and exact sample lengths of MPEG audio files.\n");
                 fprintf(stderr, "\nUsage: %s <mpeg audio file list>\n\n", argv[0]);
                 return -1;
        }
        mpg123_init();
        m = mpg123_new(NULL, NULL);
        mpg123_param(m, MPG123_RESYNC_LIMIT, -1, 0); /* New in library version 0.0.1 . */
        for(i = 1; i < argc; ++i)
        {
                off_t a, b;
                mpg123_open(m, argv[i]);
                a = mpg123_length(m);
                mpg123_scan(m);
                b = mpg123_length(m);
                printf("File %i: estimated %li vs. scanned %li\n", i, (long)a, (long)b);
        }
        mpg123_delete(m);
        mpg123_exit();

        return 0;
}


wszystko ok przykład z dokumentacji biblioteki tylko...
[Linker Error] Unresolved external '_mpg123_init' referenced from C:\USERS\ADRIAN\DESKTOP\NIE BASS2\UNIT1.OBJ

pomóżcie początkującemu ;)

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 3 lutego 2009, 18:11
przez polymorphism
A dodałeś odpowiednie biblioteki do projektu? Samo dołączenie plików nagłówkowych nie rozwiązuje sprawy (tzn. może, ale nie musi ;)).

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 3 lutego 2009, 18:21
przez Frani0
głupio mi ale nie wiem jak :( wiem gdzie dodać lecz tam nie wchodzą pliki *.h tylko c,c++,asm itd czy morzesz mi powiedzieć jak to zrobić

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 3 lutego 2009, 18:36
przez polymorphism
Może inaczej. Ściągnij ze strony paczkę libmpg123-win32dll.zip. To jest skompilowana wersja biblioteki. Niestety LIB z importami jest dla visuala, więc dodać go do projektu nie możesz. Ale o ile dobrze pamiętam, w BCB dało się linkować DLL-ki z pliku DEF. Dołącz go do projektu opcją Add to project, bibliotekę skopiuj do katalogu z aplikacją. Może zadziała.

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 3 lutego 2009, 18:56
przez Frani0
dodałem plik *.def i raczej nie działa gdy dodam

#include <libmpg123-0.dll>

to program wywala
[C++ Error] libmpg123-0.dll(1): E2206 Illegal character '' (0x90)
w innym wypadku bez tego wywala
[C++ Error] Unit1.cpp(12): E2451 Undefined symbol 'mpg123_handle'

można lib zrobić za pomocą
implib libmpg123-0.lib libmpg123-0.dll

czy jak dodam lib to to pomoże i co dać w pliku nagłówkowym jakie include

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 3 lutego 2009, 19:05
przez polymorphism
#include <libmpg123-0.dll>

No czegoś takiego to jeszcze nie widziałem :D

czy jak dodam lib to to pomoże

Powinno.

i co dać w pliku nagłówkowym jakie include

Takie jakie masz w przykładach.

Aha, nie zauważyłem, że w tej paczce nie ma plików nagłówkowych. Skopiuj nagłówki ze źródeł tej biblioteki.

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 3 lutego 2009, 19:32
przez Frani0
no i nic :( po zrobieniu pliku *.lib borland go przyjmuje i jest wszystko ok lecz nie pasuje include... mianowicie wywala stare błędy każe dodać mpg123.h.in a po dodaniu znów mamy

[Linker Error] Unresolved external '_mpg123_init' referenced from C:\USERS\ADRIAN\DESKTOP\NIE BASS2\UNIT1.OBJ

czy masz moze jakiś pomysł co z tym fantem?

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 3 lutego 2009, 19:55
przez Cyfrowy Baron
Dołącz do projektu ten plik *.LIB poprze menu Project -> Add to project...

Re: Darmowa biblioteka mp3

Nowy postNapisane: wtorek, 3 lutego 2009, 20:59
przez polymorphism
[Linker Error] Unresolved external '_mpg123_init' referenced ...

Zwróć uwagę na nazwę funkcji. Borland ma tą dziwną manierę dodawania '_' przed każdą nazwą funkcji, więc linker nie może powiązać nazwy z pliku nagłówkowego z nazwą z biblioteki importów. Możesz spróbować wygenerować LIB-a na bazie pliku DEF, ale nieco zmodyfikowanego:

Kod: Zaznacz cały
LIBRARY     libmpg123-0.dll

EXPORTS
_mpg123_init = mpg123_init

// itd.

Później wywołanie:

    IMPLIB libmpg123-0.lib libmpg123-0.def
PS. Nie pamiętam, czy kolejność nazw jest dobra, ale zrób na razie jedną funkcję i sprawdź, czy nie ma z nią błędów. Jeśli nie będzie, dodaj resztę funkcji.