I just created code for audio player. It works in Xcode 11.5 perfectly. Unfortunately, when I use Xcode 12 beta, it does not work like in Xcode 11.5. I got too many warnings. Here is my code.
struct ContentView: View {
@ObservedObject var player: Player = .shareInstance
var body: some View {
Button(action: {
self.player.play()
}) {
Text("Play")
}
}
}
class Player: ObservableObject {
static var shareInstance = Player()
var audioPlayer: AVPlayer!
func play() {
guard let url = URL(string: "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3") else {
print("Invalid url")
return
}
let playerItem = AVPlayerItem(url: url)
audioPlayer = AVPlayer(playerItem: playerItem)
audioPlayer.play()
}
}
Warnings
2020-07-03 09:45:28.914989+0630 AudioPlayer[96225:4422734] [] nwprotocolgetquicimageblockinvoke dlopen libquic failed
2020-07-03 09:45:30.336438+0630 AudioPlayer[96225:4422744] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x600001f3a720> F8BB1C28-BAE8-11D6-9C31-00039315CD46
2020-07-03 09:45:30.482683+0630 AudioPlayer[96225:4422869] HALBIOBufferManagerClient::GetIOBuffer: the stream index is out of range
2020-07-03 09:45:30.483346+0630 AudioPlayer[96225:4422869] HALBIOBufferManagerClient::GetIOBuffer: the stream index is out of range
2020-07-03 09:45:30.495630+0630 AudioPlayer[96225:4422869] [aqme] 255: AQDefaultDevice (1): output stream 0: null buffer
2020-07-03 09:45:30.496099+0630 AudioPlayer[96225:4422869] [aqme] 1778: EXCEPTION thrown (-50): error != 0
2020-07-03 09:45:45.485455+0630 AudioPlayer[96225:4422744] [aqme] 182: timed out after 15.000s (0 1); suspension count=0 (IOSuspensions: )
2020-07-03 09:45:45.486826+0630 AudioPlayer[96225:4422744] 244: CAUISoundClientBase::StartPlaying: AddRunningClient failed (status = -66681).
2020-07-03 09:45:45.615673+0630 AudioPlayer[96225:4422989] HALBIOBufferManagerClient::GetIOBuffer: the stream index is out of range
2020-07-03 09:45:45.616021+0630 AudioPlayer[96225:4422989] HALBIOBufferManager_Client::GetIOBuffer: the stream index is out of range
2020-07-03 09:45:45.628154+0630 AudioPlayer[96225:4422989] [aqme] 255: AQDefaultDevice (1): output stream 0: null buffer
2020-07-03 09:45:45.628978+0630 AudioPlayer[96225:4422989] [aqme] 1778: EXCEPTION thrown (-50): error != 0
2020-07-03 09:46:00.617994+0630 AudioPlayer[96225:4422986] [aqme] 182: timed out after 15.000s (1 2); suspension count=0 (IOSuspensions: ) Thanks
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Inside my ScrollView, there is LazyVGrid view on the top of other View. After scrolling to bottom, when I scroll to top slowly, I notice that LazyVGrid view disappears for a while.
My code
struct ContentView: View {
var body: some View {
NavigationView {
GeometryReader { proxy in
ScrollView(.vertical) {
LazyVStack {
LazyVGrid(columns: proxy.size.width > proxy.size.height ? Array(repeating: GridItem(.flexible(), spacing: 15, alignment: .top), count: 2) : Array(repeating: GridItem(.flexible(), alignment: .top), count: 1)) {
ForEach(0..<6, id: \.self) { index in
Color(red: Double.random(in: 0...1), green: Double.random(in: 0...1), blue: Double.random(in: 0...1))
.frame(height: 300)
.id(index)
}
}
Color(red: Double.random(in: 0...1), green: Double.random(in: 0...1), blue: Double.random(in: 0...1))
.frame(height: 400)
}
}
}
}
}
}
My question is how to prevent LazyVGrid not to be destroyed after disappearing. Thanks.