首先 ,贴上大牛破解的原文章:http://blog.csdn.net/visualcatsharp/article/details/6616209#reply
感谢visualcatsharp 大牛 的破解,使得咱们可以使用上免费的Rtmp-client!!万分感谢!!
看完大牛的文章,发现在android使用 还是要有些问题的,虽然直接使用java project可以运行;
先来说说遇到的问题:
android 上运行后,log显示:NetConnection#onNetStatus: {level=error, code=NetConnection.Connect.Failed, description=Failed to connect to the '192.168.200.128:80'};
解决方案,首先查看你的AndroidManifest.xml 是否有介入互联网的权限,如果没有加上如下两句
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
如果加上了,查看你的start(){.....}方法,将它放入一个线程里面执行,我修改后的代码如下:
/**
* Starts the example.
*/
public void start() {
new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
<span style="white-space:pre"> </span>final UltraNetConnection connection = new UltraNetConnection();
connection.connect(url, arg1,arg2);
// wait till connected
while (!connection.connected() && !disconnected) {
try {
Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
}
if (!disconnected) {
UltraNetStream stream = new UltraNetStream(connection);
stream.addEventListener(new NetStream.ListenerAdapter() {
@Override
public void onNetStatus(final INetStream source,
final Map<String, Object> info) {
System.out
.println("NetStream#onNetStatus: " + info);
}
});
}
while (!disconnected) {
try {
Thread.sleep(100);
} catch (Exception e) {/* ignore */
}
}
connection.close();
return null;
}
}.execute((Void) null);
}
加上这句后,我们的android 连接 red5服务器就会返回 success了:
08-07 14:21:38.350: I/System.out(10617): NetConnection#onNetStatus: {objectEncoding=3, application=null, level=status, description=Connection succeeded., code=NetConnection.Connect.Success}