我在 iOS 15 上执行以下代码时遇到问题。这在模拟器和真实设备上都会发生。此外,iOS 14 上不会出现这种情况。
import AVFoundation
class MyAudio {
let audioEngine: AVAudioEngine
let audioFile: AVAudioFile
let playerNode: AVAudioPlayerNode
init() {
audioFile = try! AVAudioFile(forReading: Bundle.main.url(forResource: "sound", withExtension: "mp3")!)
audioEngine = AVAudioEngine()
playerNode = AVAudioPlayerNode()
audioEngine.attach(playerNode)
audioEngine.connect(playerNode, to: audioEngine.mainMixerNode, format: audioFile.processingFormat)
do {
try audioEngine.start()
playerNode.play()
} catch {
print(error.localizedDescription)
}
}
}
Run Code Online (Sandbox Code Playgroud)
它将打印这些输出。
2021-10-02 17:29:14.534934+0900 audio-sample-2021-10-02[11337:353838] throwing -10878
2021-10-02 17:29:14.537588+0900 audio-sample-2021-10-02[11337:353838] throwing -10878
2021-10-02 17:29:14.537895+0900 audio-sample-2021-10-02[11337:353838] throwing -10878
2021-10-02 17:29:14.538194+0900 audio-sample-2021-10-02[11337:353838] throwing -10878
2021-10-02 17:29:14.538512+0900 audio-sample-2021-10-02[11337:353838] throwing -10878
2021-10-02 17:29:14.538822+0900 audio-sample-2021-10-02[11337:353838] throwing -10878
2021-10-02 17:29:14.539127+0900 audio-sample-2021-10-02[11337:353838] throwing -10878
2021-10-02 17:29:14.539434+0900 audio-sample-2021-10-02[11337:353838] throwing -10878
2021-10-02 17:29:14.539789+0900 audio-sample-2021-10-02[11337:353838] throwing -10878
Run Code Online (Sandbox Code Playgroud)
尽管出现这些错误,但可以播放声音而不会出现任何崩溃。然而,它比平常花费更多的时间进行初始化。有什么办法可以解决这个问题吗?
要解决此问题,请更改为:
audioEngine.connect(playerNode, to: audioEngine.outputNode, format: audioFile.processingFormat)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2140 次 |
最近记录: |