Ĺadny brzuch
staram się przy wykorzystaniu biblioteki bass nagrać próbki dźwięku ale coś słabo mi idzie.
Napisałem coś takiego
HRECORD nagranie; HCHANNEL channel; float fft[4096]; if (BASS_RecordInit(0)) // inicjalizacja nagrywania - przebiego pomyślnie brak błedów Memo2->Lines->Add("Inicjalizacja nagrywania OK"); if(!BASS_RecordSetDevice(0)) // 0 to numer mojego urządzenia sprawdzony za pomocą - BASS_RecordGetDevice() Memo2->Lines->Add("blad zmiany urzadzenia"); test=BASS_RecordSetInput(1,BASS_INPUT_ON, 1); // 1 to u mnie wejście mikrofonu na które podaje dźwięk - rejestrator windows nagrywa dźwięk tak w ramach testu probowałem if(test) Memo1->Lines->Add("OK"); nagranie=BASS_RecordStart(44100, 2, BASS_SAMPLE_FLOAT , NULL, 0); if(!nagranie) Memo2->Lines->Add("bład nagrywania"); int nn; nn=BASS_ChannelGetData(nagranie, fft, BASS_DATA_FLOAT); if(nn==-1) Memo2->Lines->Add("Błąd01");
po wywołaniu tego fragmentu kodu w memach nie wyświetlają się żadne błędy
sprawdzając dodatkowo
unsigned int sk=BASS_ChannelIsActive(nagranie); Memo2->Lines->Add(sk);
Funkcja wskazuje, że nagrywanie jest aktywne. Problem w tym, że dane w tablicy fft wcale się nie zmieniają ciągle są zerami. Jak wpiszę coś do tablicy z palca to i odtworzę dźwięk to coś słychać ale nagrywanie nie zapełnia tablicy nie mam pojęcia co może być nie tak??
Proszę o pomoc i z góry dziękuje za poświęcony czas.
Użytkownik orticelo edytował ten post 08 lipiec 2010, 12:36
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Napisałem coś takiego
HRECORD nagranie; HCHANNEL channel; float fft[4096]; if (BASS_RecordInit(0)) // inicjalizacja nagrywania - przebiego pomyślnie brak błedów Memo2->Lines->Add("Inicjalizacja nagrywania OK"); if(!BASS_RecordSetDevice(0)) // 0 to numer mojego urządzenia sprawdzony za pomocą - BASS_RecordGetDevice() Memo2->Lines->Add("blad zmiany urzadzenia"); test=BASS_RecordSetInput(1,BASS_INPUT_ON, 1); // 1 to u mnie wejście mikrofonu na które podaje dźwięk - rejestrator windows nagrywa dźwięk tak w ramach testu probowałem if(test) Memo1->Lines->Add("OK"); nagranie=BASS_RecordStart(44100, 2, BASS_SAMPLE_FLOAT , NULL, 0); if(!nagranie) Memo2->Lines->Add("bład nagrywania"); int nn; nn=BASS_ChannelGetData(nagranie, fft, BASS_DATA_FLOAT); if(nn==-1) Memo2->Lines->Add("Błąd01");
po wywołaniu tego fragmentu kodu w memach nie wyświetlają się żadne błędy
sprawdzając dodatkowo
unsigned int sk=BASS_ChannelIsActive(nagranie); Memo2->Lines->Add(sk);
Funkcja wskazuje, że nagrywanie jest aktywne. Problem w tym, że dane w tablicy fft wcale się nie zmieniają ciągle są zerami. Jak wpiszę coś do tablicy z palca to i odtworzę dźwięk to coś słychać ale nagrywanie nie zapełnia tablicy nie mam pojęcia co może być nie tak??
Proszę o pomoc i z góry dziękuje za poświęcony czas.
Użytkownik orticelo edytował ten post 08 lipiec 2010, 12:36