SwiftUI MacOS App AVPlayer 不适用于视频 URL

Posted

技术标签:

【中文标题】SwiftUI MacOS App AVPlayer 不适用于视频 URL【英文标题】:SwifUI MacOS App AVPlayer not working with Video URL 【发布时间】:2021-03-16 08:19:02 【问题描述】:

我在 info.plist 文件中授予了 ios 端 http 请求的权限。我已经为 macOS 应用程序允许了相同的操作,但无法观看视频。

错误: Code=-1003 "找不到指定主机名的服务器。"

AVPlayer

import AVKit
struct AVPlayerControllerRepresented : NSViewRepresentable 
    var player = AVPlayer()
    @Binding var playerStatus: PlayerStatus
    
    func makeNSView(context: Context) -> AVPlayerView 
        let view = AVPlayerView()
        view.controlsStyle = .none
        view.player = player
        
        NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: self.player.currentItem, queue: .main)  _ in
            self.player.seek(to: CMTime.zero)
            self.player.play()
        
        return view
    
    
    func updateNSView(_ nsView: AVPlayerView, context: Context) 
        switch playerStatus 
        
        case .start:
            return player.play()
        case .end:
            return player.pause()
        
    

enum PlayerStatus 
    case start
    case end

AVPlayer 使用

AVPlayerControllerRepresented(player: AVPlayer(url: URL(string: "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")!), playerStatus: $playerStatus)

【问题讨论】:

【参考方案1】:

我通过这种方式解决了我的问题。 我已在 App Sandbox 选项卡下允许传入和传出连接。

【讨论】:

您应该将您的答案标记为已接受,以便问题“已解决”

以上是关于SwiftUI MacOS App AVPlayer 不适用于视频 URL的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 macOS SwiftUI App 中的“新窗口”选项?

SwiftUI MacOS App AVPlayer 不适用于视频 URL

Swiftui: MacOS App: Fetching Core Data in ContentView OK,但是如何使用 AppDelegate 的结果呢?

macOS Document App SwiftUI 项目上的 NSPersistentDocument FetchRequest 扭曲属性崩溃

带有“App”协议深度链接的 SwiftUI macOS 应用程序打开了新的应用程序实例

SwiftUI:响应 macOS 上的应用程序终止