如何将媒体投射到Chromecast设备的默认媒体接收器?

问题描述:

尝试将媒体投射到Android应用的Chromecast默认媒体接收器,但它根本不投射。下面是使用查找路由代码片段:如何将媒体投射到Chromecast设备的默认媒体接收器?

MediaRouteSelector selector = new MediaRouteSelector.Builder() 
    .addControlCategory(CastMediaControlIntent 
    .categoryForRemotePlayback(CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID)) 
    .build(); 

然后,它会显示无线网络中的Chromecast设备运行时,该设备被选中下面的代码:

MediaRouter.RouteInfo route = adapter.getItem(position).routeInfo; 
// select the route for usage 
route.select(); 
// send the play control request with the video uri 
route.sendControlRequest(
    new Intent(MediaControlIntent.ACTION_PLAY) 
    .setDataAndType(videoUri, "video/mp4") 
    .addCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK), 
    new MediaRouter.ControlRequestCallback() { 
     @Override 
     public void onError(String error, Bundle data) { 
      super.onError(error, data); 
     } 
     @Override 
     public void onResult(Bundle data) { 
      super.onResult(data); 
     } 
    } 
); 

它可以”将媒体投射到设备上。有什么建议么 ?

看起来你似乎没有使用Cast SDK,而是使用Media Route Provider。我没有看到任何会议正在建立;您可能需要查看随Android SDK一起分发的democastplayer示例代码(在SDK文件夹下,转到extras/google/google_play_service/samples/cast/democastplayer)。在该示例中,查看MrpCastPlayerActivity类。

+0

是否可以在不使用本地Http或云服务器的情况下将本地媒体流式传输至Chromecast设备? – Manjunath 2015-01-28 06:37:57