# View API Migration Table (OC -> LN Swift) ## Player View | OC Class | OC API | Swift Class | Swift API | Status | |---|---|---|---|---| | `UIView(VAP)` | `playHWDMP4:repeatCount:delegate:` | `LNVAPPlayerView` | `lnPlay(filePath:repeatCount:)` | Done (runtime bridge) | | `UIView(VAP)` | `playHWDMp4:` / `playHWDMP4:delegate:` | `LNVAPPlayerView` | `lnPlay(filePath:)` + `delegate` property | Done (runtime bridge) | | `UIView(VAP)` | `stopHWDMP4` | `LNVAPPlayerView` | `lnStop()` | Done (runtime bridge) | | `UIView(VAP)` | `pauseHWDMP4` / `resumeHWDMP4` | `LNVAPPlayerView` | `lnPause()` / `lnResume()` | Done (runtime bridge) | | `UIView(VAP)` | `setMute:` | `LNVAPPlayerView` | `lnSetMute(_:)` | Done (runtime bridge) | | `UIView(VAP)` | `enableOldVersion:` | `LNVAPPlayerView` | `lnEnableOldVersion(_:)` | Done (runtime bridge) | | `UIView(VAP)` | `hwd_fps` / `hwd_renderByOpenGL` / `hwd_enterBackgroundOP` | `LNVAPPlayerView` | `fps` / `renderByOpenGL` / `enterBackgroundOperation` | Done (runtime bridge) | | `UIView(VAPGesture)` | `addVapTapGesture:` / `addVapGesture:callback:` | `LNVAPPlayerView` | `lnAddVapTapGesture(_:)` / `lnAddVapGesture(_:callback:)` | Done (runtime bridge + fallback) | ## Wrap View | OC Class | OC API | Swift Class | Swift API | Status | |---|---|---|---|---| | `QGVAPWrapView` | `playHWDMP4:repeatCount:delegate:` | `LNVAPWrapView` | `lnPlay(filePath:repeatCount:)` | Done (runtime bridge) | | `QGVAPWrapView` | `playHWDMP4:...` 单次默认播放 | `LNVAPWrapView` | `lnPlay(filePath:)` | Done (runtime bridge) | | `QGVAPWrapView` | `stopHWDMP4` / `pauseHWDMP4` / `resumeHWDMP4` | `LNVAPWrapView` | `lnStop()` / `lnPause()` / `lnResume()` | Done (runtime bridge) | | `QGVAPWrapView` | `setMute:` | `LNVAPWrapView` | `lnSetMute(_:)` | Done (runtime bridge) | | `QGVAPWrapView` | `contentMode` / `autoDestoryAfterFinish` | `LNVAPWrapView` | `contentModeOption` / `autoDestroyAfterFinish` | Done (runtime bridge) | | `QGVAPWrapView` | `addVapTapGesture:` / `addVapGesture:callback:` | `LNVAPWrapView` | `lnAddVapTapGesture(_:)` / `lnAddVapGesture(_:callback:)` | Done (runtime bridge + fallback) | | `HWDMP4PlayDelegate` | `shouldStart/start/play/stop/finish/fail + content/loadImage` | `LNVAPPlaybackDelegate` | `lnPlayerShouldStart/.../lnPlayerLoadImage` | Done | | `VAPWrapViewDelegate` | `shouldStart/start/play/stop/finish/fail + content/loadImage` | `LNVAPWrapPlaybackDelegate` | `lnWrapViewShouldStart/.../lnWrapViewLoadImage` | Done | ## Files - `/Users/yanxuyao/Vap/QGVAPlayer/QGVAPlayer/LNSwift/View/LNVAPPlayerView.swift` - `/Users/yanxuyao/Vap/QGVAPlayer/QGVAPlayer/LNSwift/View/LNVAPWrapView.swift`