美文网首页
Swiftui实现循环播放视频的两种方式

Swiftui实现循环播放视频的两种方式

作者: adrian920 | 来源:发表于2024-01-04 15:30 被阅读0次

1, 只用AVPlayer播放器

let player = AVPlayer(url: URL(string:path))

body中写法

VideoPlayer(player: player)

通过监听视频播放结束,手动重新播放

.onReceive(NotificationCenter.default.publisher(for: Notification.Name.AVPlayerItemDidPlayToEndTime), perform: { value in
            self.player.seek(to: .zero)
            self.player.play()
        })

2,使用AVPlayerLooper, AVQueuePlayer,AVPlayerItem

      let player = AVQueuePlayer()
      let playItem = AVPlayerItem(url: URL(string:path))
       self.playerLooper = AVPlayerLooper(player: player, templateItem: playItem)
       Player.play()

默认情况下,播放的视频回到后台会暂停,要想重新播放,可以添加 @Environment(.scenePhase) private var scenePhase环境变量,然后

.onChange(of: scenePhase) { value in
            switch value {
            case .active:
                // 回到前台
                if player.status == .readyToPlay {
                    player.play()
                }
            default:
                break
            }
        }

实现回到前台继续播放

相关文章

  • SwiftUI:循环播放视频

    在我的研究中,我发现了两种概念上不同的播放视频的方式。这两种方法都使用AVFoundation,但它们采用了非常不...

  • Android帧动画的实现

    帧动画就是图片的循环播放 实现帧动画有两种方式: 1.通过代码实现: //帧动画对象AnimationDrawab...

  • 「SwiftUI」 NavigationLink在列表中隐藏箭头

    SwiftUI 中 NavigationLink在列表中隐藏箭头指示器的两种实现方式: 1、通过overlay实现...

  • pr 复制视频片段的两种方式

    1.情景展示 对视频片段进行复制,实现重复播放的效果,这里,我总结了两种实现方式供大家参考。 2.解决方案 方式一...

  • 二分查找的难点

    二分查找有两种实现方式:递归实现,循环迭代实现,相比而言,迭代循环实现比较有难度 递归实现方式 迭代实现方式 二者...

  • [Android]简易播放视频

    播放视频 使用kotlin 使用MediaController+VideoView实现方式视频播放和常用控制这种方...

  • 视频列表的视频播放

    视频播放常见的场景:(1)单个页面播放视频,即视频详情页(2)视频列表上播放视频其中(1)的实现方式相对简单,自定...

  • 视频播放

    视频播放器的实现有多种方式,此处主要针对主流方式实现一个播放器 MediaPlayer框架

  • FFmpeg滤镜(13)

    FFmpeg对音视频倍速处理 常见的倍速播放方式包含跳帧播放与不跳帧播放,两种方式FFmpeg均可支持,跳帧处理方...

  • 34_音视频播放器_音视频同步

    简介 音视频同步的实现可以有两种方式 视频同步到音频 音频同步到视频 我们这里选择第一种,因为音频播放的频率是SD...

网友评论

      本文标题:Swiftui实现循环播放视频的两种方式

      本文链接:https://www.haomeiwen.com/subject/lbkbndtx.html