2010-05-12 79 views
2

我处于项目的最初阶段,需要使用RTP对从MediaLocation创建的DataStream进行广播。我下面目前failingin的rptManager.initalize(localAddress)有错误一些示例代码“无法打开本地数据端口:XXXX”,具体如下:使用JMF创建RTP流的问题

Exception in thread "main" javax.media.rtp.InvalidSessionAddressException: Can't open local data port: 34586 
at com.sun.media.rtp.RTPSessionMgr.initialize(RTPSessionMgr.java:2688) 
at com.sun.media.rtp.RTPSessionMgr.initialize(RTPSessionMgr.java:2515) 
at RTPBroadcast.main(RTPBroadcast.java:20) 

我在清醒的开发和我的防火墙是完全禁用。说实话,我有点难过。我的代码如下:

// http://jcs.mobile-utopia.com/jcs/26201_RTPManager.java 
public class RTPBroadcast { 
    public static void main (String[] args) throws InvalidSessionAddressException, IOException, UnsupportedFormatException { 

     RTPManager rtpManager = RTPManager.newInstance(); 
     SessionAddress localAddress = new SessionAddress(); 

     rtpManager.initialize(localAddress); 

     InetAddress ipAddress = InetAddress.getByName("192.168.1.5"); 

     SessionAddress remoteAddress = new SessionAddress(ipAddress, 3000); 

     rtpManager.addTarget(remoteAddress); 

     DataSource dataOutput = new ScreenSource(); 

     SendStream sendStream = rtpManager.createSendStream(dataOutput, 1); 
     sendStream.start(); 
    } 
} 

关于可能导致问题的任何想法?

回答

0

如果您的问题目前尚未解决,请尝试查看jlibrtp而不是jmf。