Post

Replies

Boosts

Views

Activity

Reply to Can no longer access iTunes music purchases with AVAudioFile with iOS 17
Here's a code example, will print the error on iOS 17, but print success and start playing audio on iOS 16: import SwiftUI import MediaPlayer import AVFoundation var player: AVAudioPlayer? struct ContentView: View { @State var success = "" var body: some View { VStack { Text(success) } .padding() .onAppear { MPMediaLibrary.requestAuthorization { (status) in if status == .authorized { print("Access granted") let songs = MPMediaQuery.songs() let playableSong = songs.items?.filter { song in song.assetURL != nil && !song.hasProtectedAsset && song.assetURL!.absoluteString.contains("m4a") }.first if let playableSong { do { let file = try AVAudioFile(forReading: playableSong.assetURL!) player = try? AVAudioPlayer(contentsOf: playableSong.assetURL!) player?.play() success = "success" } catch { print(error) success = error.localizedDescription } } } } } } }
Topic: App & System Services SubTopic: Core OS Tags:
Aug ’23
Reply to Can no longer access iTunes music purchases with AVAudioFile with iOS 17
Here's a code example, will print the error on iOS 17, but print success and start playing audio on iOS 16: import SwiftUI import MediaPlayer import AVFoundation var player: AVAudioPlayer? struct ContentView: View { @State var success = "" var body: some View { VStack { Text(success) } .padding() .onAppear { MPMediaLibrary.requestAuthorization { (status) in if status == .authorized { print("Access granted") let songs = MPMediaQuery.songs() let playableSong = songs.items?.filter { song in song.assetURL != nil && !song.hasProtectedAsset && song.assetURL!.absoluteString.contains("m4a") }.first if let playableSong { do { let file = try AVAudioFile(forReading: playableSong.assetURL!) player = try? AVAudioPlayer(contentsOf: playableSong.assetURL!) player?.play() success = "success" } catch { print(error) success = error.localizedDescription } } } } } } }
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Aug ’23
Reply to MPMediaPlayback.currentPlaybackRate no longer working in iOS 15.4?
I would like to add my criticism of this abrupt change. There was no indication in the documentation that playbackRate should only be applied to content owned by the user, and no warning about this massive change. It is not fair to developers who have built apps around this feature and users who have paid for apps relying on this feature.
Topic: Media Technologies SubTopic: General Tags:
Replies
Boosts
Views
Activity
Mar ’22