【问题标题】:iOS 13.1 Crash in AVAudio PlayerAVAudio Player 中的 iOS 13.1 崩溃
【发布时间】:2020-01-26 09:07:06
【问题描述】:

我的应用在 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


    【解决方案1】:

    谢谢,拉克什! 太奇妙了! 我的游戏在装有 iOS 13.1.2 的 iPhone 上崩溃了。但在模拟器中它的工作。在物理设备上 - 不! 我阅读了很多论坛、在线书籍、文档等。

    这个小修复确实帮助了我: 我把var player = AVAudioPlayer()改成了var player: AVAudioPlayer!

    附言伙计们写了关于线程的问题,但这种情况更简单

    【讨论】:

      【解决方案2】:

      今天发布的 iOS 13.2 修复了这个问题。

      【讨论】:

      • 我在 iOS 13.2 上没有遇到崩溃的问题,但在目标 c 上,如果您先执行 alloc init,然后在另一行执行 avaudioplayer initwith,该对象已初始化音频播放器设置为 nil 并且额外的 init 根本不起作用,所以我不得不更改为使用 alloc 和 initWithData 或 initWithContentsOfURL 以在 alloc 之后立即使用。
      • 更新到 ios 13.2 和 XCode 11.2 修复了这个问题
      【解决方案3】:

      同样的问题也发生在 Objective C 代码中。

      之前的 musicPlayer = [[AVAudioPlayer alloc] init]; 可以工作,但现在会导致 iOS13 崩溃。当使用其他 init 方法之一(如 initWithContentsOfURL)时,稍后会发生崩溃。

      删除 [[AVAudioPlayer alloc] init] 可解决问题。

      【讨论】:

        【解决方案4】:

        我在 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! 一样声明。

        【讨论】:

        • 你能分享一下目标C吗?
        猜你喜欢
        • 1970-01-01
        • 2020-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-02
        • 2022-10-08
        • 2020-01-25
        • 1970-01-01
        相关资源
        最近更新 更多