CastCompanionLibrary Android: не удалось запустить воспроизведение мультимедиа
Я хочу привести поток к Cast Device, используя Cast Companion Library Android. Я пробую URL, но когда я нажимаю кнопку воспроизведения, появляется сообщение об ошибке "Не удалось запустить воспроизведение мультимедиа". Я не знаю почему.. Вы можете мне помочь?
Вот мой код:
public class MainActivity extends AppCompatActivity {
VideoCastManager mCastManager;
MediaInfo mediaInfo;
String uriString = "someURL=m3u8";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BaseCastManager.checkGooglePlayServices(this);
CastConfiguration options = new CastConfiguration.Builder(this.getString(R.string.app_id))
.enableAutoReconnect()
.enableCaptionManagement()
.enableDebug()
.enableLockScreen()
.enableWifiReconnection()
.enableNotification()
.addNotificationAction(CastConfiguration.NOTIFICATION_ACTION_PLAY_PAUSE, true)
.addNotificationAction(CastConfiguration.NOTIFICATION_ACTION_DISCONNECT, true)
.build();
VideoCastManager.initialize(this, options);
mCastManager = VideoCastManager.getInstance();
MediaMetadata mMediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
mediaInfo = new MediaInfo.Builder(
uriString)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("application/x-mpegURL")
.setMetadata(mMediaMetadata)
.build();
CastConsumer castConsumer = new CastConsumer();
mCastManager.addVideoCastConsumer(castConsumer); mCastManager.startVideoCastControllerActivity(getApplicationContext(),mediaInfo,0,true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.media_route, menu);
mCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item);
return true;
}
private class CastConsumer extends VideoCastConsumerImpl {
@Override
public void onApplicationConnected(ApplicationMetadata appMetadata, String sessionId, boolean wasLaunched) {
mCastManager.startVideoCastControllerActivity(MainActivity.this, mediaInfo, 0, false);
}
}
}