internal override TrackBase InternalGetTrackInfo(TrackType trackType, int trackIndex, ref bool isActiveTrack)
        {
            TrackBase result = null;

            switch (trackType)
            {
            case TrackType.Video:
            {
                string trackName     = AVPPlayerGetVideoTrackName(_playerIndex, trackIndex);
                string trackLanguage = AVPPlayerGetVideoTrackLanguage(_playerIndex, trackIndex);
                bool   isActive      = AVPPlayerIsVideoTrackActive(_playerIndex, trackIndex);
                result = new VideoTrack(trackIndex, trackName, trackLanguage, isActive);
                break;
            }

            case TrackType.Audio:
            {
                string trackName     = AVPPlayerGetAudioTrackName(_playerIndex, trackIndex);
                string trackLanguage = AVPPlayerGetAudioTrackLanguage(_playerIndex, trackIndex);
                bool   isActive      = AVPPlayerIsAudioTrackActive(_playerIndex, trackIndex);
                result = new AudioTrack(trackIndex, trackName, trackLanguage, isActive);
                break;
            }

            case TrackType.Text:
            {
                string trackName     = AVPPlayerGetTextTrackName(_playerIndex, trackIndex);
                string trackLanguage = AVPPlayerGetTextTrackLanguage(_playerIndex, trackIndex);
                bool   isActive      = AVPPlayerIsTextTrackActive(_playerIndex, trackIndex);
                result = new TextTrack(trackIndex, trackName, trackLanguage, isActive);
                break;
            }
            }
            return(result);
        }
Exemplo n.º 2
0
 public void                             SetActiveTextTrack(TextTrack track)
 {
     SetActiveTrack(_textTracks, track);
 }