2012-05-02 6 views
2

Я пытаюсь создать приложение, которое будет воспроизводить поток из wowza.
Эта часть в порядке. Но затем мне нужно иметь какой-то вариант в приложении, который будет общаться с сервером wowza. Например, как вызвать wowza-сервер каким-то методом, как вызвать метод onConnect ... Как подключиться из wowza из приложения и оставаться на связи, пока я не вызову метод onDisconnect ???
Если кто-то есть информация, я буду очень благодарен ... Заранее спасибо ...Позвоните в wowza-сервер из приложения Android.

VideoView.setVideoPath("some path") 

делает трюк для игры ...

+0

Как вы играли поток из Wowza. Мне нужна помощь в этом ... –

ответ

5

Вы называете вызов метода в модуле Wowza с использованием HTTPProvider (http://www.wowza.com/forums/content.php?30-httpproviders). Это дает вам URL-адрес в вашем Wowza-модуле, который ваше приложение сможет вызывать через HTTP.

Так, например, вы ваш модуль Wowza работает под умолчанию:

http://localhost:1935. 

Вы можете добавить HTTPProvider к вашему Vhost.xml, такие как:

<HTTPProvider> 
    <BaseClass>com.mycompany.wms.module.SomeModule</BaseClass> 
    <RequestFilters>logout*</RequestFilters> 
    <AuthenticationMethod>none</AuthenticationMethod> 
</HTTPProvider> 

Это позволит вам вызвать URL, такие как:

http://localhost:1935/logout?id=123456789 

В коде Java для вашего модуля, вам необходимо реализовать HTTProvider2Base е который вы создаете методом onHTTPRequest. В методе могут использоваться переменные в строке запроса (так в этом примере:? Id = 123456789). Вы также можете вызвать методы в своем модуле здесь.

Пример Java класс, который будет использовать этот вызов выглядит следующим образом:

package com.mycompany.wms.module; 

import com.wowza.wms.http.HTTProvider2Base; 
import com.wowza.wms.http.IHTTPRequest; 
import com.wowza.wms.http.IHTTPResponse; 
import com.wowza.wms.logging.WMSLogger; 
import com.wowza.wms.logging.WMSLoggerFactory; 
import com.wowza.wms.vhost.IVHost; 

public class SomeModule extends HTTProvider2Base { 

public void onHTTPRequest(IVHost vhost, IHTTPRequest req, IHTTPResponse resp) { 
    //Get the user 
    String userId = req.getParameter("id"); 
    getLogger().info("Logging out user: " + userId);  

    logoutUser(userId); 
} 

private void logoutUser(String userId){ 
    //Do stuff here... 
} 

private WMSLogger getLogger(){ 
    return WMSLoggerFactory.getLogger(SomeModule.class); 
} 
} 

несколько подводных камней:

  • Scoping в onHTTPRequest, кажется, вне вашего экземпляра так быть осторожным доступа к свойствам в экземпляр модуля.
  • Мне пришлось прокомментировать узел HTTPProvider с HTTPServerVersion в нем, чтобы заставить меня работать. В моей версии Wowza она, похоже, переопределила всех других HTTPProviders.
  • У меня также были проблемы с тем, что Wowza работает из IDE, не забирая вызовы на url через Visual Studio. Как только я внес изменения в служебную версию, звонки работали нормально.

приложение я построил, который сделал это в значительной степени основано на разговоре в этой статье: http://www.wowza.com/forums/content.php?182-HTTPProvider-that-returns-detail-server-info

+0

Спасибо человеку ... это очень полезно. Вы когда-либо пробовали или даже смогли установить соединение с сервером wowza с устройства Android, как мы можем сделать во flash? Я спрашиваю, потому что мне нужно время от времени отправлять информацию или вызывать какой-то метод на стороне клиента (Android-устройство) ?! – Jovan

+0

Привет, Jovan. Я не сделал это с устройства Android. Но я думал, если у вас есть URL-адрес, который вы можете использовать для вызова метода wowza, тогда вы должны ударить по этому URL-адресу из своего приложения Android? Надеюсь, это поможет. – NikG

+0

Привет, Ник, это все очень полезно, и я получаю его, но мне нужно установить соединение, как у нас есть во флеш-флеш-приложении, а в некоторых, ни один определенный вызов времени не вызывает какой-либо метод для клиента android с сервера. Например, в приложении для чата мне нужно отправить сообщение с сервера на какого-нибудь пользователя Android. Как я могу достичь этого? У вас есть какие-то мысли ?! Спасибо за это время Ник!:) – Jovan

Смежные вопросы