gpt4 book ai didi

ios - 使用 HTTP Live Streaming 的备用音轨

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:51 27 4
gpt4 key购买 nike

当 HLS 流准备好播放时,我正在生成可用音轨列表。我可以很好地访问可用的音轨,但我很难为每个音轨提取正确的“标题”。

我正在使用 Apple's test stream它有两个音轨。我用这个提取轨道...

availableAudioTrackList = [[NSMutableArray alloc] init];
AVMediaSelectionGroup *audioTracks = [player.currentItem.asset mediaSelectionGroupForMediaCharacteristic:AVMediaCharacteristicAudible];
for (int i = 0; i < [audioTracks.options count]; i++) {
AVMediaSelectionOption *opt = audioTracks.options[i];
NSLog(@"Opt: %@", opt);
[availableAudioTrackList insertObject:opt.displayName atIndex:i];
}
NSLog(@"Audio Track Array: %@", availableAudioTrackList);

我的输出显示“opt.displayName”没有给出 BipBop Audio 1 和 BipBop Audio 2 的标题(这些是我希望能够使用的区别名称)。

... Opt: <AVMediaSelectionKeyValueOption: 0x15dad0d0, locale = en, mediaType = 'soun', title = BipBop Audio 1, default = YES> 
... Opt: <AVMediaSelectionKeyValueOption: 0x15dad100, locale = en, mediaType = 'soun', title = BipBop Audio 2>

...Audio Track Array: ( English, English )

知道如何/是否可以从 AVMediaSelectionOption 对象中提取标题吗?

谢谢!

最佳答案

您必须按如下方式从元数据中获取它

    NSArray *metaDatas = [AVMetadataItem metadataItemsFromArray:opt.commonMetadata withKey:@"title" keySpace:@"comn"];
if (metaDatas.count > 0) {
NSString *title = ((AVMetadataItem*)[metaDatas objectAtIndex:0]).stringValue;
NSLog(@"title: %@", title);
}

关于ios - 使用 HTTP Live Streaming 的备用音轨,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19551399/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com