我有一个使用 HLS 的实时广播流,我想在播放歌曲时显示曲目/艺术家信息。
据我从 API 文档和问题Streams 中了解到的 -如果我们将 hasOutOfBandMetadata 设置为 true,则应该为 HLS 调用 hasOutOfBandMetadata 和 getStreamingMetadata。
我们返回的 mime 类型是“application/vnd.apple.mpegurl”。
getMetaData 返回一个频道列表,我们在其中使用类似这样的内容构建每个频道
return new mediaMetadata
{
id = string.Format("{0}:{1}", Prefix, (string)channel["id"]),
title = (string)channel["title"],
itemType = itemType.stream,
mimeType = "application/vnd.apple.mpegurl",
onDemand = false,
liveNow = true,
Item = new streamMetadata
{
currentShow = "Test title",
currentHost = "Someone"
}
};
并且 getMediaMetadata 返回
return new getMediaMetadataResponse
{
getMediaMetadataResult = new getMediaMetadataResponseGetMediaMetadataResult
{
Items = new object[] {
new streamMetadata
{
title = (string)mediaElement["title"],
hasOutOfBandMetadata = true,
currentShow = "Test",
currentShowId = "MKDF24444",
description = "this is the description",
hasOutOfBandMetadataSpecified = true
}
},
ItemsElementName = new[] { ItemsChoiceType.streamMetadata }
}
};
使用此配置,我看不到任何对 getStreamingMetadata 的调用。
谢谢