Red5アプリで録画の開始・停止時に処理を実行する
Red5のアプリケーションはApplicationAdapterを継承して作成する。イベントを検出するには、そのイベントに対応するApplicationAdapterのメソッドを継承する。
録画開始はstreamRecordStartが呼ばれ、録画停止時にはstreamBroadcastCloseが呼ばれるようである。なんで停止側のメソッド名がstreamRecordStopじゃないんだろうと思ったが、開始側はstreamRecordStart, streamPublishStartなどと、処理の内容に応じてメソッドも分かれているのに対して、映像をサーバに送る処理を停止するイベントはすべてstreamBroadcastCloseで受けるようになっているっぽい。
public class Application extends ApplicationAdapter { @Override public void streamRecordStart(IBroadcastStream stream) { // 録画開始時の処理 super.streamRecordStart(stream); } @Override public void streamBroadcastClose(IBroadcastStream arg0) { // 録画停止時の処理 super.streamBroadcastClose(arg0); } }