fix(ios): ensure audio and subtitle tracks are well reported
This commit is contained in:
parent
dc8c618d41
commit
0e0ff18b27
@ -103,10 +103,14 @@ enum RCTVideoUtils {
|
||||
title = value as! String
|
||||
}
|
||||
let language:String! = currentOption?.extendedLanguageTag ?? ""
|
||||
|
||||
let selectedOption: AVMediaSelectionOption? = player.currentItem?.currentMediaSelection.selectedMediaOption(in: group!)
|
||||
|
||||
let audioTrack = [
|
||||
"index": NSNumber(value: i),
|
||||
"title": title,
|
||||
"language": language
|
||||
"language": language ?? "",
|
||||
"selected": currentOption?.displayName == selectedOption?.displayName
|
||||
] as [String : Any]
|
||||
audioTracks.add(audioTrack)
|
||||
}
|
||||
@ -129,10 +133,13 @@ enum RCTVideoUtils {
|
||||
title = value as! String
|
||||
}
|
||||
let language:String! = currentOption?.extendedLanguageTag ?? ""
|
||||
let selectedOpt = player.currentItem?.currentMediaSelection
|
||||
let selectedOption: AVMediaSelectionOption? = player.currentItem?.currentMediaSelection.selectedMediaOption(in: group!)
|
||||
let textTrack = TextTrack([
|
||||
"index": NSNumber(value: i),
|
||||
"title": title,
|
||||
"language": language
|
||||
"language": language,
|
||||
"selected": currentOption?.displayName == selectedOption?.displayName
|
||||
])
|
||||
textTracks.append(textTrack)
|
||||
}
|
||||
|
@ -1007,6 +1007,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
}
|
||||
|
||||
if _videoLoadStarted {
|
||||
let audioTracks = RCTVideoUtils.getAudioTrackInfo(_player)
|
||||
let textTracks = RCTVideoUtils.getTextTrackInfo(_player).map(\.json)
|
||||
onVideoLoad?(["duration": NSNumber(value: duration),
|
||||
"currentTime": NSNumber(value: Float(CMTimeGetSeconds(_playerItem.currentTime()))),
|
||||
"canPlayReverse": NSNumber(value: _playerItem.canPlayReverse),
|
||||
@ -1020,8 +1022,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
"height": width != nil ? NSNumber(value: height!) : "undefinded",
|
||||
"orientation": orientation
|
||||
],
|
||||
"audioTracks": RCTVideoUtils.getAudioTrackInfo(_player),
|
||||
"textTracks": _textTracks ?? RCTVideoUtils.getTextTrackInfo(_player),
|
||||
"audioTracks": audioTracks,
|
||||
"textTracks": textTracks,
|
||||
"target": reactTag as Any])
|
||||
}
|
||||
_videoLoadStarted = false
|
||||
|
Loading…
Reference in New Issue
Block a user