
非常感谢您的帮助.
我真正的最终目的是在设备上讲话并在PC上听一个方向.
我现在可以使用以下代码发送流:
String hostname = "192.168.1.10";int port = 8000;Socket socket = null; try { socket = new Socket(InetAddress.getByname(hostname),port); } catch (UnkNownHostException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); }ParcelfileDescriptor pfd = ParcelfileDescriptor.fromSocket(socket);recorder = new MediaRecorder();recorder.setAudioSource(MediaRecorder.AudioSource.MIC);recorder.setoutputFormat(MediaRecorder.OutputFormat.THREE_GPP);recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);recorder.setoutputfile(pfd.getfileDescriptor()); try { recorder.prepare(); } catch (IllegalStateException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); }recorder.start();解决方法 似乎没问题,但我个人更喜欢缓冲设备上的音频并将其从另一个线程发送到服务器,而不是像你那样直接将记录器连接到套接字.因为本地缓冲将允许您优雅地处理连接中断. 想象一下你正在录制,用户通过隧道并失去互联网连接 – 如果你直接流媒体,套接字将关闭,用户会恼火:-)但是,如果你在本地缓冲数据,你可以重新建立连接并继续从你离开的地方发送音频到服务器,希望用户甚至不必知道刚刚发生连接中断,因为它只是神奇地工作.
为了使其工作,您必须将记录写入本地缓冲区并对该缓冲区上的新数据进行单独的线程检查,并尽快发送到服务器.
总结以上是内存溢出为你收集整理的android流音频到服务器全部内容,希望文章能够帮你解决android流音频到服务器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)