Chromecast를 앱에 통합하려고하는데 이미 실행중인 애플리케이션에 참여할 때 수신기에서 데이터를 가져 오는 문제가 발생합니다. 먼저 응용 프로그램을 실행할 때수신자에게서 맞춤 데이터를 가져 오는 방법
는 내가 이미 실행중인 응용 프로그램 내가 수신기로부터 사용자 정보를 어떻게
Cast.CastApi.launchApplication(googleApiClient, APP_ID).setResultCallback(new ResultCallback<Cast.ApplicationConnectionResult>() {
@Override
public void onResult(Cast.ApplicationConnectionResult applicationConnectionResult) {
mMessageStream = new CastMessageStream();
MediaInfo mediaInfo = mMessageStream.getMediaInfo();
MediaStatus mediaStatus = mMessageStream.getMediaStatus();
JSONObject jsonObject = mediaInfo.getCustomData(); // Returns null
MediaMetadata metadata = mediaInfo.getMetadata(); // Returns null
....
}
});
시청에
public class CastMessageStream extends RemoteMediaPlayer {
public void setMetadata(GoogleApiClient apiClient, CastingObject castingObject, String seriesId, String description, String episodeNumber, String title) {
JSONObject payload = _initJsonObject(COMMAND_KEY_SET_METADATA);
try {
payload.put(KEY_SUB_TITLE, castingObject.castingSubUrl);
payload.put(KEY_TITLE, title);
payload.put(KEY_SERIES_ID, seriesId);
payload.put(KEY_EPISODE_NUMBER, episodeNumber);
payload.put(KEY_DESCRIPTION, description);
payload.put(KEY_VIDEO_HEADER, castingObject.description);
sendMessage(apiClient, payload.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Send messages to the reciever using the NAMESPACE
*/
private final void sendMessage(GoogleApiClient apiClient, String message)
throws IOException, IllegalArgumentException, IllegalStateException {
Cast.CastApi.sendMessage(apiClient, NAMESPACE, message);
}
코드를 사용하여 RemoteMediaPlayer와 메타 날짜를 설정합니다. iOS에서 작동하도록했습니다. 그래서 가능한 것으로 알고 있습니다. 어떤 도움이라도 대단히 감사합니다.
mMessageStream이란 무엇입니까? (btw, applicationConnectionResult.getStatus(). isSuccess()가 true 인 경우에만 실행되도록 조건문에서 onResult() 내부에 코드를 래핑하려고 할 수 있습니다. –
@AliNaddaf 포장했으나 단순화하기 위해 질문에서 그것을 꺼냈다. 나는 질문을 편집했다. mMessageStream은 RemoteMediaPlayer를 확장 한 CastMessageStream이다. – Darussian