使用GCKMediaControlChannel的sendTextMessage方法会产生错误

时间:2014-02-22 01:35:32

标签: ios google-cast chromecast

使用谷歌演员iOS SDK,GCKMediaControlChannel的sendTextMessage方法很简单,很难误用,所以我猜这可能是SDK中的一个错误...希望有人会证明我错了所以我可以回去工作!

以下是代码:

NSDictionary *messageDict = @{
                            @"message": @"blah",
                            @"num":[NSNumber numberWithInt:2]
                            };
  NSError *error;
  NSData *msgData = [NSJSONSerialization dataWithJSONObject:messageDict
                                                      options:0
                                                        error:&error];
  NSString *message = @"" ;
  if (!msgData) {
    DDLogError(@"ERROR serializing message: %@", error);
    return NO ;
  } else {
    message = [[NSString alloc] initWithData:msgData encoding:NSUTF8StringEncoding];
    [self sendTextMessage:message] ;
  }

...接收到消息时,接收方会产生此错误[cast.receiver.mediaManager] Ignoring request, requestId is not an integer: undefined

在第一个视图中,似乎GCKMediaControlChannel直接从GCKCastChannel继承其sendTextMessage方法,未能实现特定于媒体通道的某些消息传递方面(特别是未能使用{{将消息包装在媒体样式的信封中) 1}}和requestId属性)

还有其他人遇到过这个吗?我错过了什么吗?有解决方法吗?

1 个答案:

答案 0 :(得分:1)

我遵循ticket I created上的建议,使用GCKCastChannel使用自定义命名空间向接收方媒体应用发送消息,而非专用GCKMediaControlChannel来解决此问题。故障单响应确认“不要直接使用带有GCKMediaControlChannel的sendTextMessage”