Я делаю приложение отправителя с Google Cast SDK, но когда я пытаюсь воспроизвести мультимедиа на Smart TV, я получаю сообщение об ошибке: Медиа не выбрано.Все работает нормально, но я не могу воспроизводить мультимедиа
Я хочу воспроизвести видео из приложения отправителя на моем умном телевизоре с помощью Google Cast SDK, но я получаю сообщение об ошибке
// Слушатель
private void setupCastListener(){
mSessionManagerListener = new SessionManagerListener<CastSession>() {
//Si hay errores poner en cada uno un toast el porque
@Override
public void onSessionEnded(CastSession castSession, int i) {
onAplicationDisconnected();
}
@Override
public void onSessionResumed(CastSession castSession, boolean b) {
onAplicationConnected(castSession);
}
@Override
public void onSessionResumeFailed(CastSession castSession, int i) {
onAplicationDisconnected();
}
@Override
public void onSessionStarted(CastSession castSession, String s) {
onAplicationConnected(castSession);
}
@Override
public void onSessionStartFailed(CastSession castSession, int i) {
onAplicationDisconnected();
}
@Override
public void onSessionStarting(CastSession castSession) {
Toast.makeText(DetailsActivity.this, "Iniciando conexion", Toast.LENGTH_SHORT).show();
}
@Override
public void onSessionEnding(CastSession castSession) {
Toast.makeText(DetailsActivity.this, "Sesion finalizada", Toast.LENGTH_SHORT).show();
}
@Override
public void onSessionResuming(CastSession castSession, String s) {
Toast.makeText(DetailsActivity.this, "Sesion retomadda", Toast.LENGTH_SHORT).show();
}
@Override
public void onSessionSuspended(CastSession castSession, int i) {
}
private void onAplicationConnected(CastSession castSession){
mcastSession = castSession;
if(!util.getUrl().equals("")){
//VideoPlayer
Toast.makeText(DetailsActivity.this, "Url ha mostrar " + util.getUrl(), Toast.LENGTH_SHORT).show();
loadRemoteMedia();
Toast.makeText(DetailsActivity.this, "Se ha conectado correctamente", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(DetailsActivity.this, "La url no pudo ser leida", Toast.LENGTH_LONG).show();
}
}
private void onAplicationDisconnected(){
Toast.makeText(DetailsActivity.this, "El dispositivo se ha desconectado", Toast.LENGTH_SHORT).show();
}
};
}
private void loadRemoteMedia() {
//Cargar datos
try {
if (mcastSession == null){
Toast.makeText(this, "No hay ningun dispositivo conectado", Toast.LENGTH_SHORT).show();
return;
}
RemoteMediaClient remoteMediaClient = mcastSession.getRemoteMediaClient();
if (remoteMediaClient == null){
Toast.makeText(this, "No hay MediaClient ", Toast.LENGTH_SHORT).show();
return;
}
remoteMediaClient.load(buildMediaInfo(),
new MediaLoadOptions.Builder()
.setAutoplay(true)
.setPlayPosition(0).build());
}catch (Exception e){
Toast.makeText(this, "Load Remote Media is configured bad", Toast.LENGTH_SHORT).show();
}
}
private MediaInfo buildMediaInfo() {
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_TITLE,"Dragon Ball");
return new MediaInfo.Builder(util.getUrl())
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("videos/mp4")
.setMetadata(movieMetadata)
.build();
}
Я ожидаю воспроизведения мультимедиа на Smart TV, но я получаю следующую ошибку: Медиа не был выбран