在适用于HLS的AVPlayerViewController中更改轨道标签

时间:2019-07-02 09:32:20

标签: xamarin.ios avplayer avplayerviewcontroller

我在Xamarin.iOS上使用AVPlayer和AVPLayerViewController播放HLS流。问题是我无法更改用户可以在播放选项中选择的曲目名称(音频和字幕)。 Labels I want to change are marked in red例如,我想在那里使用母语名称。

可以说我无法更改流中的元数据,而必须更改播放器中的曲目标签。 这就是我解析可用曲目并选择英语作为字幕和音频的方式。

AVAsset asset = AVAsset.FromUrl(source);
AVPlayerItem playerItem = new AVPlayerItem(asset);

foreach (string characteristic in this.playerItem.Asset.AvailableMediaCharacteristicsWithMediaSelectionOptions)
{
    AVMediaSelectionGroup group = this.playerItem.Asset.MediaSelectionGroupForMediaCharacteristic(characteristic);
    AVMediaSelectionOption option = group.Options.FirstOrDefault(o => o.Playable && o.ExtendedLanguageTag == "eng");

    if (option is null)
        continue;

    this.playerItem.SelectMediaOption(option, group);
}

我尝试更改AVMediaSelectionGroup和AVMediaSelectionOption,但是实例具有很多只读属性。 我应该如何解决这个问题?

0 个答案:

没有答案