2014-09-26 1 views
0

나는에서 GitHub의 프로젝트를 통해, "CastHelloText 크롬을"작업을 시도하고있다. 현재 발신자에게 간단한 문자열을 전달하려고합니다. Chromecast가있는 맞춤 수신기에서 발신자 앱으로 메시지를 보내려면 어떻게해야하나요? <a href="https://github.com/googlecast/CastHelloText-chrome" rel="nofollow">https://github.com/googlecast/CastHelloText-chrome</a></p> <p>나는 샘플 및 공식 문서를 통해되었습니다 :

내 기능입니다 :

function DispatchToSender() { 
     debugger; 
     try { 
      if (window.messageBus == null) { 
       window.messageBus = 
      window.castReceiverManager.getCastMessageBus(
       'urn:x-cast:com.radiodile.mobilex'); 
      } 
      //I now pass in "theSenderID" based on Ali's comment 
      window.messageBus.send(theSenderID, "This gun's for hire"); 
     } catch (e) { 
      console.log("Dispath to sender exception: " + e); 
     } 


    } 

이 아무것도하지 않고 문서이 사용 사례에 매우 스파 스 (적어도 내 과열 된 뇌)

누군가가 나에게에 찔러 줄 수 올바른 방향으로 주시겠습니까?

감사합니다.

PS - 내 DispatchToSender() 함수는 다음에 단계 않습니다 : 지정된 포트 ID가이 컨텍스트에있는 경우

// true를 돌려줍니다. 이것은 함수에 의해 사용됩니다. hasPort (portId) { 포트에서 리턴 포트 아이디; }; // C++은 // 특정 컨텍스트에 대해 신경 쓰지 않는 모든 컨텍스트에 대해 자바 스크립트 메시지를 작성하지 않도록합니다.

위의 내용은 내 맞춤 수신기에서 참조한 JS SDK의 일부로 보입니다. 그것은 그래서 내가 뭔가 잘못하고있는 중이 야 확신 것을 과거를 얻을 수 없다하지만 그런 알리 Naddaf의 코멘트를 들어

UPDATE) : MOI 같은 인형에 대한 예는 없다 - 내가 읽고

여전히 운이 당신의 comment sir 님과 다음을 시도하였습니다.

receiver.html의 초기화에서

receiver.html - 나는 event.senderId 값에 페이지 수준 변수 "theSenderID"로 설정

CastMessageBus 메시지 이벤트

window.messageBus.onMessage = function (event) { 
     console.log('Message [' + event.senderId + ']: ' + event.data); 
     theSenderID = event.senderId; // CAPTURE THE SENDER ID FOR RE-USE IN DISPATCH EVENT FN() 
     // display the message from the sender 
     displayText(event.data); 
     // inform all senders on the CastMessageBus of the incoming message event 
     // sender message listener will be invoked 
     window.messageBus.send(event.senderId, event.data); 
    } 
에 대한 // 핸들러

내가 다음에 dispatchEvent에과 같이 메시지를 보내려고() 함수는 내가 쓴 :

window.messageBus.send (theSenderID, "이를 총을위한 고용 "); 위에서

나는 theSenderID 값을해야합니까 그것은입니다 : 내가 전화하면 "6 클라이언트-54624"

는 window.messageBus.send 나는 예외를 볼하지만 내 보낸 응용 프로그램에서 나는를받을 수 없습니다 메시지 :

chromehellotext.html

/** 
    * utility function to log messages from the receiver 
    * @param {string} namespace The namespace of the message 
    * @param {string} message A message string 
    */ 
    function receiverMessage(namespace, message) { 
     appendMessage("receiverMessage: " + namespace + ", " + message); 
    }; 

나는 때문에 보낸 사람의 "receiverMessage()"함수의 첫 번째 매개 변수의 센더로 만든 사용자 지정 네임 스페이스를 사용하고 있었다 당신의 코멘트를 읽기 전에 유의하시기 바랍니다.

receiverMessage()가 작동하고 chromehellotext 샘플에 대한 수신자의 DisplayText() 함수에서 setApplicationState (text) 값을 가로 채고있었습니다.

나는 완전히 혼란 스럽다.

나는 브로드 캐스트 메시지를 시도하지 않았지만 발신자와 직접 통신하는 것이 더 나은 방법 인 것처럼 보입니까?

감사합니다.

답변

1

보내기 방법은 다음과 같습니다. send(senderId, message) 그래서 보낸 사람 ID로 전달할 내용이 명확하지 않습니다. 이는 수신기 SDK가 세션에 참여하거나 세션을 시작할 때 해당 보낸 사람에게 할당되는 고유 한 보낸 사람 ID 여야합니다. 발신자 한 명과 연결된 모든 발신자가 상관 없다면 broadcast(message)

+0

안녕하세요, ** 업데이트 **를 참조하십시오. 나는 당신의 코멘트의 요지를 따르려고 노력했지만 나는 지금까지 성공하지 못했습니다. 감사! – Krafty

+0

몇 분 전에 작동하지 않는 이유를 잘 모릅니다. 게시물을 업데이트하기 위해 돌아 왔으며 발신자와 수신자 모두 디버그 모드로 남겨 두었습니다. 검색을 좀 더하고 아무것도 찾지 못했을 때 단순히 이벤트 시퀀스를 다시 트리거했고 이번에는 .send() 메소드가 지시 한대로 senderid와 함께 작업했습니다. 정말 고마워요! – Krafty