gpt4 book ai didi

swift - 如何在 iOS 13 中串流远程音频? ( swift 用户界面)

转载 作者:行者123 更新时间:2023-11-28 10:26:55 25 4
gpt4 key购买 nike

此代码使用 AVPlayer 仅适用于 Playground

import AVFoundation

var player = AVPlayer()
let playerItem = AVPlayerItem(url: URL(string: "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3")!)
player = AVPlayer(playerItem: playerItem)
player.play()

当我尝试在我的物理设备上的 SwiftUI 应用程序上运行它时,使用以下代码:

 Button(action:{

var player = AVPlayer()
let playerItem = AVPlayerItem(url: URL(string: "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3")!)
player = AVPlayer(playerItem: playerItem)
player.play()

print("Works")

},label:{

Image("play")
})

它将 Works 打印到控制台。但是,它不会在设备上播放任何声音。

非常感谢任何帮助,在这里找不到任何东西。

非常感谢!

最佳答案

在 SwiftUI 中, View 是值类型。它们只是描述屏幕上事物的数据。它们可以随时创建、销毁或复制。 AVPlayer 是对特定播放器对象的引用。您在这里假设它将继续存在,并且只会有一个。这不是 SwiftUI View 提供的东西。

您需要将您的 AVPlayer 移到 View 之外(进入 Model 对象),并将 UI 操作绑定(bind)到它。

关于swift - 如何在 iOS 13 中串流远程音频? ( swift 用户界面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58792160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com