/*
* myLib - https://github.com/taktod/myLib
* Copyright (c) 2014 ttProject. All rights reserved.
*
* Licensed under The MIT license.
*/
package com.ttProject.rtmp.test;
import org.apache.log4j.Logger;
import com.ttProject.container.flv.amf.Amf0Object;
import com.ttProject.rtmp.IDataListener;
import com.ttProject.rtmp.INetStatusEventListener;
import com.ttProject.rtmp.NetConnection;
import com.ttProject.rtmp.NetStream;
import com.ttProject.rtmp.message.IRtmpMessage;
/**
* test for rtmp.
* @author taktod
*/
public class RtmpTest {
private Logger logger = Logger.getLogger(RtmpTest.class);
// @Test
public void test() throws Exception {
logger.info("start test.");
final NetConnection nc = new NetConnection();
nc.setListener(new INetStatusEventListener() {
@Override
public void onStatusEvent(Amf0Object<String, Object> obj) {
logger.info(obj);
logger.info(obj.get("code"));
if(obj.get("code").equals("NetConnection.Connect.Success")) {
logger.info("connect ok, next is to make netStream.");
NetStream ns = new NetStream(nc); // このタイミングでコネクトしてコネクトがうまくいったらstream.playを実施する
ns.setListener(new INetStatusEventListener() {
@Override
public void onStatusEvent(Amf0Object<String, Object> obj) {
// netStreamEvent.
logger.info(obj.get("code"));
}
});
ns.setDataListener(new IDataListener() {
@Override
public void receive(IRtmpMessage message) {
// receive the data, do something.
logger.info("acquire media message." + message.getClass().getSimpleName());
}
});
ns.play("test");
}
}
});
nc.connect("rtmp://localhost/live");
nc.closeForWait();
}
}