我想在java应用程序(SE)中使用SIP Connection进行流和音频处理。我与服务器连接并获得200个OK消息。我想接收服务器发送的数据。我创建了一个SOCKET并获得了一个InputStream。这是我如何做到的。 123.456.789.1是我的IP地址,1234是我的应用程序侦听端口。从套接字获取InputStream
Socket socket=new Socket("123.456.789.1",1234);
InputStream in=socket.getInputStream();
System.out.println("inputSream available :"+in.available());
但in.available()始终为0。
但是,如果我得到Object content=response.getContent()
;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = new ObjectOutputStream(bos);
out.writeObject(content);
byte[] contentBytes = bos.toByteArray();
contenBytes的lenght等于响应内容length.But当我试图让InputStream和发挥,像下面
InputStream pp=new ByteArrayInputStream(b);
AudioStream as = new AudioStream(pp);
AudioData data = as.getData();
ContinuousAudioDataStream cas = new ContinuousAudioDataStream (data);
一个异常抛出; java.io.IOException:无法从输入流创建音频流 然后,我尝试读取输入流in.read()
,然后读取一些字节并抛出IOException。 Q1。我如何解决并从套接字获取InputStream?问题二:
Q2。如何获得一个inputStream播放音频?
或让我知道问题出在哪里以及如何解决。
更新:谢谢大家谁表现出了故障in.availabe();
后来我改变了代码。
ByteArrayOutputStream ou=new ByteArrayOutputStream();
int i=0;
System.out.println("Before while");
while((i=in.read())!=-1){
ou.write(i);
System.out.println("Wrote :"+i);
}
不幸的是,应用程序不会去further.That意味着同时是printed.Application只是显示了运行(我使用NetBeans IDE)。我不why.Any澄清只是之前?
不清楚你在问什么。什么IOException被抛出? – EJP 2015-08-16 01:20:18