Sto seguendo queste (1, 2) guide per creare un'applicazione Android mittente per Chromecast e mi interessa solo inviare immagini. Ci sono un sacco di informazioni ei samples come lanciare Testo, Audio e Video. Ma non una sola parola su come farlo con Immagini.Trasmetti immagine (foto) a Chromecast
I belive in power of stackoferflow e qualcuno avrebbe dovuto affrontare tale problema. Si prega di dare qualche buon esempio o tutorial. Tutto ciò di cui ho bisogno è una guida per trasmettere immagini a schermo intero usando Media Router
e le sue caratteristiche.
Ecco come mi stava mandando un messaggio di testo utilizzando il canale personalizzato:
/**
* Send a text message to the receiver
*/
private void sendMessage(String message) {
if (mApiClient != null && mSmartBusChannel != null) {
try {
Cast.CastApi.sendMessage(mApiClient,
mSmartBusChannel.getNamespace(), message)
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status result) {
if (!result.isSuccess()) {
Log.e(TAG, "Sending message failed");
}
}
});
} catch (Exception e) {
Log.e(TAG, "Exception while sending message", e);
}
} else {
Toast.makeText(this, message, Toast.LENGTH_SHORT)
.show();
}
}
Il video è l'invio tramite RemotePlaybackClient
.. Va bene, quello che sta immagini?
Grazie mille per l'aiuto.
EDIT:
ho scoperto il metodo (on this blog) di come sia possibile inviare immagini dalla memoria locale. E sì, non sembra funzionare davvero.
public final void openPhotoOnChromecast(String title, String url, String ownerName, String description) {
try {
Log.d(TAG, "openPhotoOnChromecast: " + url);
JSONObject payload = new JSONObject();
payload.put(KEY_COMMAND, "viewphoto");
payload.put("fullsizeUrl", url);
payload.put("ownerName", ownerName);
payload.put("title", title);
payload.put("description", description);
sendMessage(payload);
} catch (JSONException e) {
Log.e(TAG, "Cannot parse or serialize data for openPhotoOnChromecast", e);
} catch (IOException e) {
Log.e(TAG, "Unable to send openPhotoOnChromecast message", e);
} catch (IllegalStateException e) {
Log.e(TAG, "Message Stream is not attached", e);
}
}
P.S. questo metodo utilizza sendMessage(...)
da queste librerie (da Gradle):
compile files('libs/commons-io-2.4.jar')
compile files('libs/GoogleCastSdkAndroid.jar')
grazie per la risposta chiara. Proverò questo approccio. – AnZ
Ok, il primo approccio non ha funzionato per me.Proverò il terzo. Per quanto ho capito, funzionerebbe in base al principio "caricamenti di dispositivi - download di Chromecast". È necessaria una connessione Internet per il trasferimento di tali file o sarebbe sufficiente solo il WiFi tra i dispositivi? E un'altra domanda: ho bisogno di un ricevitore personalizzato per tale approccio o quello predefinito si occuperà di esso? Qualche esempio sarebbe grandioso. – AnZ