[AVAudio Player中的iOS 13.1崩溃

问题描述 投票:7回答:2

当我跟踪问题时,我的应用程序在iOS 13.1上崩溃,然后发现由于AVAudioPlayer而导致应用程序崩溃。

下面是我的播放器设置。

if let wrongURL = Bundle.main.url(forResource: "wrongAudio", withExtension: "mp3")
        {
            do {
                wrongMusicPlayer = try AVAudioPlayer(contentsOf: wrongURL)
                wrongMusicPlayer.prepareToPlay()
            }
            catch
            {
                print(error.localizedDescription)
            }
        }

这里所有内容都正确找到,但是当AVAudioPlayer尝试用URL初始化时崩溃。

ios swift avaudioplayer ios13
2个回答
12
投票

[我在iOS 13.1的AVAudioPlayer中发现崩溃问题。

这里是解决方案

为什么我的AVAudioPlayer崩溃?因为

我像[初始化AVAudioPlayer

var wrongMusicPlayer: AVAudioPlayer = AVAudioPlayer()

然后我尝试如下重新分配wrongMusicPlayer

wrongMusicPlayer = try AVAudioPlayer(contentsOf: wrongURL)

并且我的应用程序崩溃。

解决

如果您以任何方法将AVAudioPlayer初始化为var wrongMusicPlayer: AVAudioPlayer = AVAudioPlayer()wrongMusicPlayer = AVAudioPlayer(),请删除它,然后像var wrongMusicPlayer: AVAudioPlayer!一样声明。


0
投票

由于我在Rakesh的回答中没有评论的要点,因此目标C代码也会发生相同的问题。先前musicPlayer = [[AVAudioPlayer alloc] init];可以,但是现在会导致iOS13崩溃。稍后,当使用其他initWithContentsOfURL等其他init方法之一时,发生崩溃。删除[[AVAudioPlayer alloc] init]可解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.