2017-02-06 4 views
1

MediaRouteProviderService이 제공되는 경로에서 미디어를 전송하려면 캐스트 SDK v2를 사용하고 있습니다. Android Cast SDK V3 및 MediaRouteProviderService

가 지금은 SDK v3로 마이그레이션하고 상태 v3에서

하고, 검색 프로세스가 시작되고 응용 프로그램은 각각 전경에 와서 배경에 갈 때 에 의해 자동으로 프레임 워크를 중단했다. MediaRouteSelector 및 MediaRouter.Callback 는

을 사용할 수 없습니다 그래서 캐스트 SDK v3을 함께 MediaRouteProviderService를 사용하여 사용자 정의 경로를 제공하는 방법을

답변

0

그래서 캐스트 SDK v3을 함께 MediaRouteProviderService를 사용하여 사용자 정의 경로를 제공하는 방법을

v3에서는 이제 장치 검색이 CastContext에 의해 처리됩니다.

장치 검색이 완전히 CastContext에 의해 관리됩니다 : v3 Configure device discovery, 그것은 상태. CastContext를 초기화 할 때 보낸 사람 응용 프로그램은 수신기 응용 프로그램 ID를 지정하고 네임 스페이스를 요청할 수 있습니다.CastOptions에 supportedNamespaces를 설정하여 필터링 할 수 있습니다. CastContext는 내부적으로 MediaRouter에 대한 참조를 보유하고 있으며 발신자 앱이 전경으로 들어가면 발견 프로세스를 시작하고 을 보내고 발신자 앱이 백그라운드로 들어갈 때 중지합니다.

class CastOptionsProvider implements OptionsProvider { 
    public static final String CUSTOM_NAMESPACE = "urn:x-cast:custom_namespace"; 
    @Override 
    public CastOptions getCastOptions(Context appContext) { 
     List<String> supportedNamespaces = new ArrayList<>(); 
     supportedNamespaces.add(CUSTOM_NAMESPACE); 
     CastOptions castOptions = new CastOptions.Builder() 
      .setReceiverApplicationId(context.getString(R.string.app_id)) 
      .setSupportedNamespaces(supportedNamespaces) 
      .build(); 
     return castOptions; 
    } 
    @Override 
    public List<SessionProvider> getAdditionalSessionProviders(Context context) { 
     return null; 
    } 
} 
+0

이 나는 ​​수정하고, MediaRouteProviderService가 더 이상 대신 OptionsProvider를 사용하여 사용자 정의 경로를 제공, 필요 의미? – ingsaurabh