Android Chromecast伴奏库-设置TextTrackStyle错误2103
我正在使用并尝试为标题设置自定义Android Chromecast伴奏库-设置TextTrackStyle错误2103,android,streaming,video-streaming,chromecast,castcompanionlibrary,Android,Streaming,Video Streaming,Chromecast,Castcompanionlibrary,我正在使用并尝试为标题设置自定义textrackstyle 在创建MediaInfo时,我正在将此TexTextStyle设置为MediaInfo: // set CC style TextTrackStyle textTrackStyle = new TextTrackStyle(); textTrackStyle.setBackgroundColor(Color.parseColor("#FFFF
textrackstyle
在创建MediaInfo时,我正在将此TexTextStyle
设置为MediaInfo:
// set CC style
TextTrackStyle textTrackStyle = new TextTrackStyle();
textTrackStyle.setBackgroundColor(Color.parseColor("#FFFFFF"));
textTrackStyle.setForegroundColor(ContextCompat.getColor(mContext, R.color.blue));
MediaInfo mediaInfo = new MediaInfo.Builder(url)
.setStreamDuration(movieVideoItem.getDuration())
.setStreamType(MediaInfo.STREAM_TYPE_NONE)
.setContentType(type)
.setMetadata(mediaMetadata)
.setMediaTracks(tracks)
.setCustomData(customData)
.setTextTrackStyle(textTrackStyle)
.build();
但在Chromecast侧没有可见的结果。我还试图更改VideoCastManager
方法setTextTrackStyle
:
public void setTextTrackStyle(TextTrackStyle style) {
// CUSTOM TEXT TRACK STYLE HERE
TextTrackStyle textTrackStyle = new TextTrackStyle();
textTrackStyle.setBackgroundColor(Color.parseColor("#FF0000"));
textTrackStyle.setForegroundColor(Color.parseColor("#0000FF"));
mRemoteMediaPlayer.setTextTrackStyle(mApiClient, textTrackStyle)
.setResultCallback(new ResultCallback<MediaChannelResult>() {
@Override
public void onResult(MediaChannelResult result) {
if (!result.getStatus().isSuccess()) {
onFailed(R.string.ccl_failed_to_set_track_style,
result.getStatus().getStatusCode());
}
}
});
for (VideoCastConsumer consumer : mVideoConsumers) {
try {
consumer.onTextTrackStyleChanged(textTrackStyle);
} catch (Exception e) {
LOGE(TAG, "onTextTrackStyleChanged(): Failed to inform " + consumer, e);
}
}
}
Chromecast上的结果只是带有黑色背景的白色文本
//已添加编辑Chromecast接收器日志:在Chromecast接收器日志中,我找到了一些
TextTrackStyle
,但这不是我试图设置的样式:
Received message: {"data":"{\"requestId\":4,\"type\":\"EDIT_TRACKS_INFO\",\"textTrackStyle\":{\"fontScale\":1,\"foregroundColor\":\"#4285F4FF\",\"backgroundColor\":\"#FFFFFFFF\"},\"mediaSessionId\":1}"
这些是我从Android Sender应用程序发送的不同颜色。我在
onLoad
方法中根本看不到任何TextTrackStyle
。所以我不确定问题是出在Android端还是Chromecast端?首先需要确定问题是出在发送方还是接收方。您提到的错误表示您发送了相同的消息/请求,而另一个消息/请求在队列中。通过查看连接到接收方的chrome调试器上的控制台日志,您应该能够看到发送方是否正在发送您想要的信息。我想你看到的是字幕,但不能设计它,对吗?是的,你是对的。我可以看到标题,但没有我的自定义样式。他们一直使用白色字体和黑色背景。我仍然得到这个错误2103。公司库是否可能以某种方式将某些默认TextTrackStyle应用于标题?我应该如何找到问题所在?我检查了Chromecast控制台,我可以看到,我实际上正在将样式发送到Chromecast接收器。我编辑了我的答案-从Chromecast接收器添加了控制台日志。在这种情况下,这似乎是接收器端的问题,与CastCompanionLibrary无关。我知道,使用侧面加载的VTT,你可以改变风格(android应用程序显示),所以这可能是使用嵌入式VTT的副作用;您可能希望在我们的问题跟踪程序上打开一张票据并提供信息;确保您在接收器上提供完整的日志。感谢您的时间和回答!实际上,我向Chromecast接收器添加了更多日志,现在我可以看到,Android端的TextTrackStyle是空的。它看起来像这样:“CustomTextTrackStyle:{}embedded”括号内应该有Json格式的my样式。即使当我尝试使用侧面加载的TTML格式时,无论我从Android发送什么,TextTrackStyle都是一样的。
Received message: {"data":"{\"requestId\":4,\"type\":\"EDIT_TRACKS_INFO\",\"textTrackStyle\":{\"fontScale\":1,\"foregroundColor\":\"#4285F4FF\",\"backgroundColor\":\"#FFFFFFFF\"},\"mediaSessionId\":1}"