使用 google cast 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 方法,未能实现特定于媒体 channel 的某些消息传递方面(特别是未能使用 requestId
和 mediaSessionID
属性)
有没有其他人遇到过这种情况?我错过了什么吗?有解决办法吗?
我遵循了 ticket I created 上的建议,使用 GCKCastChannel
而不是他专用的 GCKMediaControlChannel
的自定义命名空间向接收者媒体应用程序发送消息以解决此问题。工单响应确认“不要将 sendTextMessage 直接与 GCKMediaControlChannel 一起使用”
关于ios - 使用 GCKMediaControlChannel 的 sendTextMessage 方法会产生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21948473/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |