2012-07-03 14 views
7

Buduję aplikację internetową, która umożliwia klientom przetestowanie swoich umiejętności językowych.Czy można nagrywać dźwięk z klienta na serwer w aplikacji internetowej opartej na PHP lub JAVA?

Aplikacja składa się z serii różnych testów, które klienci mogą dowolnie wykonywać. Jednym z tych testów jest taki, w którym klient widzi zdanie na stronie internetowej, a następnie jest wymagany, aby wypowiedzieć zdanie na mikrofon. Pomysł polegałby na nagraniu strumienia audio, przesłaniu go na serwer i zapisaniu go w pliku.

Czy jest to możliwe przy użyciu PHP, Java lub czegoś podobnego do nich?

Dziękuję za pomoc :)

+0

Flash jest najlepszym myślę. nie jest to możliwe w php. php działa na serwerze, a nie po stronie klienta. Java może również, ale nie polecam. flash jest znacznie bardziej rozpowszechniony i możesz łatwo nauczyć się i pisać swój własny kod lub użyć darmowego kodu –

Odpowiedz

7

Jedyne realne rozwiązania dla rozwiązania problemu są z lampą błyskową, jak sugeruje inną odpowiedź, lub apletu Java. Za rok lub dwa, które, mam nadzieję, ulegną zmianie i będziesz mógł używać javascript i HTML5, ale to jest teraz.

Powiedziałbym, że jest to problem lepszy i łatwiejszy do rozwiązania za pomocą flasha, ale dla java, musisz napisać aplet java, aby nagrać. Oto kilka wskazówek na początek:

http://docs.oracle.com/javase/tutorial/deployment/applet/ http://www.java2s.com/Tutorial/Java/0120__Development/CapturingAudiowithJavaSoundAPI.htm http://www.jsresources.org/

Nie trzeba mowy Java API lub JMF, tylko java dźwięku. Możesz WANT JMF skompresować plik audio, aby przesyłanie działało szybciej, ale możesz to zrobić bez pracy. Pamiętaj, że możesz potrzebować "podpisać" swój aplet, aby nagrać dźwięk w przeglądarce.

Jeśli nie masz nic przeciwko flashowi, możesz również użyć haxe do napisania kodu flash.

2

nie w 100% to, czego szukasz, ale myślę, że będzie to przynajmniej daje jakieś pomysły.

How to record streaming audio to the server

+0

Dziękuję za odpowiedź :) Już widziałem tę odpowiedź i zastanawiałem się, czy jest coś takiego z PHP lub Javą ... ale i tak dzięki! =) – user1498926

8

Wiem, że poprosiłeś o PHP, domyślam się, że to twój język wyboru, ale czy rozważałeś użycie html5 do nagrania swojego audio? Uwaga: wciąż brakuje obsługi przeglądarki, ale warto ją przeanalizować w zależności od wymagań.

Sprawdź to tutorial; wykorzystuje API GETUSERMEDIA, aby uzyskać dostęp do sprzętu kamery i mikrofonu.


Aktualizacja: tutaj jest another good tutorial na ten temat.

+0

Zobacz do obsługi przeglądarki: http://caniuse.com/#feat=stream –

1

Możliwe jest rozwiązanie tego problemu za pomocą oprogramowania Flash i Java. Możesz użyć komponentu Flash, aby nagrać dźwięk i wysłać go w porcjach po stronie serwera, które można zaimplementować za pomocą java.

Pros do tworzenia rejestratora dźwięku we Flashu jest wiele.

  • Flash jest szeroko zainstalowane wtyczki w przeglądarce
  • Aplet Java daje ostrzeżenie przed uruchomieniem go, który wiele razy wyłącza użytkowników.
  • Numerycznie sprawdzane, większość aplikacji multimedialnych jest tworzona za pomocą Flasha, co zapewnia miłe wsparcie.
  • Aplety Java są używane tam, gdzie gruby klient musi pasować do przeglądarki i musi być również bezpieczny.Wciąż znajdziesz wiele aplikacji do bieżnikowania w czasie rzeczywistym napisanych w apletach java.

Oto kilka tutoriali stworzyć Rejestrator dźwięku we Flashu

http://active.tutsplus.com/tutorials/actionscript/create-a-useful-audio-recorder-app-in-actionscript-3/

Adobe record sound and save

ten zbiera strumień dźwięku mogą być przechowywane w kawałkach po stronie klienta i może być synchronizowane z backend serwer (dowolny język po stronie serwera będzie w porządku).

Wdrożenie serwera w Javie ma tę zaletę. Jeśli zajdzie potrzeba jutra, możesz przesyłać ten sam dźwięk za pomocą serwera Red5 zaimplementowanego w Javie.

Zobacz więcej tutaj: http://www.red5.org/

0

Jest nagranie audio SDK dla tego, co jest napisane w PHP, Flash i HTML5. http://recordmp3online.com

Jestem rzeczywiście autor tego SDK (pełne ujawnienie)

Powiązane problemy