Yakın zamanda Samsung Galaxy S4'te Android uygulamalarımızda çalınamayan ses raporları alıyoruz. Uygulama diğer cihazlarda iyidir.Android Socket Sayı (SGS4)
Ses, MediaPlayer kullanılarak akışa aktarılır. Android Socket yöntemini kullanarak yerel olarak kaydedilir.
try {
byte[] buffer = httpString.toString().getBytes();
int readBytes = -1;
Log.d(LOG_TAG, "writing to client");
client.getOutputStream().write(buffer, 0, buffer.length);
// Start streaming content.
byte[] buff = new byte[1024 * 64];
while (isRunning && (readBytes = data.read(buff, 0, buff.length)) != -1) {
client.getOutputStream().write(buff, 0, readBytes);
}
}
yığın izleme aşağıdaki gibidir:
akışı Proxy kodu açıklama oynatılanD/StreamProxy(3913): downloaded
D/StreamProxy(3913): downloading...
D/StreamProxy(3913): reading headers
D/StreamProxy(3913): headers done HTTP/1.0 200 OK
D/StreamProxy(3913): Content-Type: audio/mpeg
D/StreamProxy(3913):
D/StreamProxy(3913): writing to client
W/StreamProxy(3913): Broken pipe.
W/StreamProxy(3913): java.net.SocketException: sendto failed: EPIPE (Broken pipe)
W/StreamProxy(3913): at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:506)
W/StreamProxy(3913): at libcore.io.IoBridge.sendto(IoBridge.java:475)
W/StreamProxy(3913): at java.net.PlainSocketImpl.write(PlainSocketImpl.java:507)
W/StreamProxy(3913): at java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46)
W/StreamProxy(3913): at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:269)
W/StreamProxy(3913): at com.gm.mobile.util.StreamProxy.processRequest(StreamProxy.java:234)
W/StreamProxy(3913): at com.gm.mobile.util.StreamProxy.run(StreamProxy.java:123)
W/StreamProxy(3913): at java.lang.Thread.run(Thread.java:856)
W/StreamProxy(3913): Caused by: libcore.io.ErrnoException: sendto failed: EPIPE (Broken pipe)
W/StreamProxy(3913): at libcore.io.Posix.sendtoBytes(Native Method)
W/StreamProxy(3913): at libcore.io.Posix.sendto(Posix.java:151)
W/StreamProxy(3913): at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177)
W/StreamProxy(3913): at libcore.io.IoBridge.sendto(IoBridge.java:473)
W/StreamProxy(3913): ... 6 more
E/(3913): client closing
D/StreamProxy(3913): Proxy interrupted. Shutting down.
, ancak çalmaya başlar tarafından
LogCat uyarı kaynaklanır Bir saniye için, devam etmeden önce 2-3 saniye boyunca arabelleğe almaya başlar.
Her türlü çözüm büyük ölçüde kabul edilir.
Ben benzer sorunlar bulduk, ancak çözülmemiştir:
- Android : Socket - java.net.SocketException: sendto failed: EPIPE (Broken pipe)
- Media Player socket exception in Samsung Grand
Aynı sorunu yaşıyorum. Henüz bir çözüm yok :( – Nick
En azından ben sadece bir tane değilim. Benim sahip olduğumdan başka var mı? Sorunu çözmenize yardımcı olabilecek bir şey sorunu çözebilir misiniz? – SteveEdson
Ne yazık ki test etmek için bir S4 bile yok. Bunu S4'ün yanı sıra birkaç başka cihazda da gördüm, ancak sorunu tespit edemedim. Eğer bir şey bulursam burayı güncelleyeceğim – Nick