Ich bin diese folgen (1, 2) Anleitungen, um eine Absender-Android-Anwendung für Chromecast zu erstellen, und ich bin nur daran interessiert, Bilder zu senden. Es gibt viele Informationen und samples wie man Text, Audio und Video zu werfen. Aber kein einziges Wort wie das mit Bilder.Cast Bild (Foto) auf Chromecast
Ich glaube in Kraft von stackoferflow und jemand sollte solche Probleme konfrontiert haben. Bitte geben Sie ein gutes Beispiel oder Tutorial. Alles, was ich brauche, ist eine Anleitung, um Vollbild mit Media Router
und seinen Funktionen zu übertragen.
Das ist, wie ich die Textmeldung senden benutzerdefinierten Channel mit:
/**
* 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();
}
}
Video sendet RemotePlaybackClient
mit .. Okay, was Bilder ist?
Vielen Dank für jede Hilfe.
EDIT:
ich herausgefunden habe, Verfahren (on this blog), wie es möglich ist, Bilder aus dem lokalen Speicher zu senden. Und ja, das scheint nicht wirklich zu funktionieren.
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. Diese Methode nutzt sendMessage(...)
aus diesen Bibliotheken (von gradle):
compile files('libs/commons-io-2.4.jar')
compile files('libs/GoogleCastSdkAndroid.jar')
danke für die klare antwort. Ich werde diesen Ansatz ausprobieren. – AnZ
Okay, erste Annäherung funktionierte nicht für mich.Ich werde es mit dem dritten versuchen. Soweit ich das verstanden habe, würde es nach dem Prinzip "Device Uploads - Chromecast Downloads" funktionieren. Ist für solche Dateien eine Internetverbindung erforderlich oder reicht es nur WLAN zwischen Geräten? Und noch eine Frage - brauche ich Custom Receiver für einen solchen Ansatz oder den Default wird man damit umgehen? Ein Beispiel wäre toll, übrigens. – AnZ