AVPlayer 不适用于 iOS 12.2,而它可以通过 XCode 12.3 与 iOS 14.3 配合使用

kal*_*lpa 5 ios avplayer ios12

我在 iOS 12.2 模拟器中播放音频时遇到问题,而相同的代码在 iOS 14.3 上运行良好。我已经检查过并在苹果论坛上搜索,发现 iOS 14 也出现了相同类型的问题,但现在已经解决了。

提前致谢。

我的示例代码:

class ViewController: UIViewController {
    
    var audioPlayer:AVPlayer?
    var playerItem:AVPlayerItem?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    @IBAction func playMusic() {
        playAudioFromURL()
    }
    
    private func playAudioFromURL() {
           guard let url = URL(string: "https://s3.amazonaws.com/kargopolov/kukushka.mp3") else {
               print("error to get the mp3 file")
               return
           }
           do {
               audioPlayer = try AVPlayer(url: url as URL)
           } catch {
               print("audio file error")
           }
           audioPlayer?.play()
       }
}
Run Code Online (Sandbox Code Playgroud)

在 iOS 12.2 上运行时出现错误消息

2021-01-27 16:51:56.773138 + 0530 SimpleAvplyar [12446:281352] [AudioHAL_Client] HALB_IOBufferManager.cpp:226:GetIOBuffer:HALB_IOBufferManager :: GetIOBuffer:流索引超出范围2021-01-27 16:51: 56.773472 + 0530 SimpleAvplyar [12446:281352] [AudioHAL_Client] HALB_IOBufferManager.cpp:226:GetIOBuffer:HALB_IOBufferManager :: GetIOBuffer:流索引超出范围2021-01-27 16:51:56.786532 + 0530 SimpleAvplyar [1244 6:281352] [aqme] 254:AQDefaultDevice(1):输出流0:空缓冲区2021-01-27 16:51:56.786880 + 0530 SimpleAvplyar [12446:281352] [aqme] 1640:抛出异常(-50):- 2021-01 -27 16:52:11.024274+0530 SimpleAvplyar[12446:281260] [aqme] 177:15.000秒后超时(0 1);暂停计数=0(IOSuspensions:)2021-01-27 16:52:11.025729 + 0530 SimpleAvplyar [12446:281260] 239:CA_UISoundClientBase :: StartPlaying:AddRunningClient 失败(状态= -66681)。2021-01-27 16:52:11.785607 + 0530 SimpleAvplyar [12446:281516] [AudioHAL_Client] HALB_IOBufferManager.cpp:226:GetIOBuffer:HALB_IOBufferManager :: GetIOBuffer:流索引超出范围2021-01-27 16:52: 11.785796 + 0530 SimpleAvplyar [12446:281516] [AudioHAL_Client] HALB_IOBufferManager.cpp:226:GetIOBuffer:HALB_IOBufferManager :: GetIOBuffer:流索引超出范围2021-01-27 16:52:11.802351 + 0530 SimpleAvplyar [1244 6:281516] [aqme] 254:AQDefaultDevice(1):输出流0:空缓冲区2021-01-27 16:52:11.802589 + 0530 SimpleAvplyar [12446:281516] [aqme] 1640:抛出异常(-50):-