Custom Methods пользовательский метод

Custom Methods пользовательский метод

Пользовательский метод серверной части Java ,который вы захотите использовать к Flash player клиенту через вызов к NetConnection.call() или вызовом части NetConnection или NetStream набора команд. Наппример, “play” или “publish” определены в ModuleCore как пользовательский метод. Этот метод должен быть публичным и должен содержать следующую подпись аргумента (IClient, RequestFunction, AMFDataList параметры). Только публичные методы ч этой подписью могут быть доступны для вызова из клиента.

 

Обработка пользовательских методов отличается от методов событий. Когда такой метод как “play” , вызывается из flash player, только последний модуль в <Modules> списке определяет , что пользовательский метод был вызываемымым. Например, ModuleCore модуль определяет метод“play” , который был вызван, когда NetStream.play(streamName) обращался из Flash плеера. Если вы создаете свой пользовательский метод , который определяет метод “play” и добавляет его к <Modules> списку после ModuleCore модуля, ваш “play” метод будет вызывать, даже, если метод the “play” определен в ModuleCore. Если в применение вашего “play” вы хотите, чтобы вызвался “play” метод «следующий за» по списку к вашему модулю, вы можете вызвать “this.invokePrevious(client, function, params)”. Wowza Pro будет искать список и найдя следующий за применением “play” метод, будет вызвать этот метод из списка. Это позволяет создавать методы с задержкой. Каждое применение метода в <Modules> списке может быть запущено с указанием порядка на следующий модуль и управляется пропуском прохода в списке <Modules> .

Например, вы используете “play” и хотите проверить имя потока всех вызовов к NetStream.play(streamName).Если имя начинается с “goodstream/” и вы хотите указать вначале фразу “_good” к имени потока и вызвать “this.invokePrevious(client, function, params)”. Все другие вызовы в этом случае будут разъеденены. Код выглядит так :

import com.wowza.wms.module.*;

import com.wowza.wms.client.*;

import com.wowza.wms.amf.*;

import com.wowza.wms.request.*;

public class MyModule extends ModuleBase

{

public void play(IClient client, RequestFunction function, AMFDataList params)

{

boolean disconnect = false;

if (params.get(PARAM1).getType() == AMFData.DATA_TYPE_STRING)

{

String playName = params.getString(PARAM1);

if (playName.startsWith(«goodstream/»))

{

playName += «_good»;

params.set(PARAM1, new AMFDataItem(playName));

}

else

disconnect = true;

}

if (disconnect)

client.setShutdownClient(true);

else

this.invokePrevious(client, function, params);

}

}

package com.mycompany.module;

Реклама
Custom Methods пользовательский метод

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s