W mojej aplikacji na Androida chcę przeczytać strumień audio i przeanalizować jego metadane. mam to działa przy użyciu StreamProxy jak w projekcie NPR: http://code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/StreamProxy.java?r=e4984187f45c39a54ea6c88f71197762dbe10e72java.net.SocketException: sendto failed: EPIPE (Broken pipe) przez połączenie danych do localhost
Problemem jest to, że nie działa za pośrednictwem połączenia danych. NPR ma ten sam problem.
Podsumowując, ten serwer proxy działa jako lokalny serwer sieciowy, tworząc interfejs między aplikacją a strumieniem zdalnym. Działa na localhost 127.0.0.1 z wygenerowanym niestandardowym portem. Gdy serwer jest odczyt danych strumieniowych, to powiela je do aplikacji, jak można przeczytać na linii 223 w StreamProxy:
client.getOutputStream().write(buff, 0, readBytes);
jednak, że linia generuje ten wyjątek za pośrednictwem połączenia danych:
java.net.SocketException: sendto failed: EPIPE (Broken pipe)
Nie jestem ekspertem od gniazd i przesyłania strumieniowego. Nie wiem, co robi różnicę między Wi-Fi a połączeniem danych w tym przypadku.
Hi, nawet używam kanał proxy grać streaming. Rzuca ten błąd na niektóre urządzenia. Czy znalazłeś jakieś rozwiązanie? – vijaykumarg
@ romain-piel Czy kiedykolwiek zastanawiałeś się, o co chodzi? Mam ten sam problem, ale nie mogę znaleźć rozwiązania. – Nick
nie: -/to bardzo dziwne. Używam teraz połączenia równolegle z transmisją strumieniową.Nie idealne, ale przynajmniej działa w każdej sytuacji. –