2010-02-02 20 views
5

Próbuję przenieść mój wygaszacz ekranu z systemu Windows na system Mac, a jedna z jego funkcji reaguje na dźwięk systemowy. W Windowsie było łatwo używać Direct Sound, ale nie mogę znaleźć żadnego przykładu przechwytywania dźwięku na Macu. Czy jest to możliwe, nawet bez pisania czegoś takiego jak rozszerzenie jądra? Używanie flasha jest również bardzo proste - daje nawet metodę uzyskiwania surowych danych, a nawet transformowanych danych fft.Przechwytywanie dźwięku wyjściowego na komputerze Mac

Wszystkie programy, które już znalazłem, używają Soundflower lub własnego rozszerzenia jądra. Ale nie sądzę, że prośba o zainstalowanie oddzielnego programu lub używanie rozszerzenia jądra jest dobrym pomysłem.

Odpowiedz

4

Jedną z rzeczy, które możesz zrobić, biorąc pod uwagę, że Soundflower jest open source, jest spojrzenie na to, jak to zrobili. Nie można skopiować & wkleić kod GPL, ale można na pewno przestudiować stosowane techniki i stworzyć własne rozwiązanie (wskaż w dobrym kierunku).

Apple nie będzie tu bardzo pomocny. Przechwytywanie dźwięku w ten sposób może być wykorzystywane do wszelkiego rodzaju niecnych celów. Nie jestem nawet pewien, czy Core Audio pozwala na to bez hackowania. W każdym razie masz działającą implementację tego, co próbujesz osiągnąć. Wykorzystałbym to.

+0

Czy znasz jakieś miejsce, aby zobaczyć kod przy użyciu Soundflower? – tig

+0

Nie polecam go używać. Polecam ją inżynierią wsteczną. Przykład, którego szukasz, to kod źródłowy do samego Soundflow. BTW, instalowanie rozszerzenia jądra jest przezroczyste, jeśli poprawnie je zapakujesz. – pestilence669

+0

Nie podoba mi się to, że będzie wymagać uprawnień administratora do zainstalowania. Ale myślę, że masz rację. – tig

-3

Nie jestem teraz na moim Macu, ale jestem całkiem pewny, że Quartz Composer ma łatkę dla tej właśnie rzeczy. W zależności od języka, w jakim piszesz wygaszacz ekranu, może być dość łatwo przenieść kod do QC patch. Cóż ... prawdopodobnie nie będzie to łatwe, ale może być wykonalne.

+0

Myślę, że możesz zrobić wszystko, co możesz zrobić z poprawką QC w kodzie, prawda? –

+0

W Quartz Composer znalazłem tylko sposób pracy z dźwiękiem wejściowym, a nie wyjściem. Również mój wygaszacz ekranu nie jest bardzo lekki, więc wolę używać Objective-C++ z OpenGL. – tig

Powiązane problemy