You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift开发播放音频时AudioQueueInternalNotifyRunning错误(-66671)的解决方法

解决AVAudioPlayer无声音及错误-66671的问题

嘿,我之前也碰到过一模一样的问题!你的代码里有两个核心问题导致了播放失败和那些奇怪的错误日志,咱们来一步步修复:

1. 修复AVAudioPlayer的生命周期问题

你在viewDidLoad里把soundPlayer定义成了局部变量,当这个方法执行完毕后,这个变量就会被ARC自动释放掉——播放器还没来得及播放就被销毁了,自然没声音。

解决方法是把它改成ViewController的实例属性,让它能在整个控制器生命周期内保持存在。

2. 配置并激活音频会话

iOS系统对音频播放有严格的会话管理,如果你没有提前配置并激活音频会话,很可能会被系统拦截播放请求,错误-66671通常就和这个有关。

你需要在初始化播放器前,先设置AVAudioSession的类别并激活它。

修改后的完整代码

import UIKit
import AVFoundation

class ViewController: UIViewController {
    // 把播放器改成实例属性,延长生命周期
    var soundPlayer: AVAudioPlayer!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 1. 配置音频会话
        let audioSession = AVAudioSession.sharedInstance()
        do {
            // 根据你的需求选择合适的类别,这里用playback适合后台播放场景
            try audioSession.setCategory(.playback, mode: .default)
            try audioSession.setActive(true)
        } catch {
            print("音频会话配置失败: \(error.localizedDescription)")
            return
        }
        
        // 2. 初始化播放器
        guard let soundURL = Bundle.main.url(forResource: "beep", withExtension: "mp3") else {
            print("找不到音频文件")
            return
        }
        
        do {
            soundPlayer = try AVAudioPlayer(contentsOf: soundURL)
            // 提前准备音频,减少播放延迟
            soundPlayer.prepareToPlay()
            soundPlayer.play()
        } catch {
            print("播放器初始化失败: \(error.localizedDescription)")
        }
    }
    
    // 记得在控制器销毁时停用音频会话(可选,根据需求)
    deinit {
        do {
            try AVAudioSession.sharedInstance().setActive(false)
        } catch {
            print("停用音频会话失败: \(error.localizedDescription)")
        }
    }
}

补充说明

  • 那个[plugin] AddInstanceForFactory的日志其实是系统层面的非关键警告,和你的播放问题没有直接关联,修复上面两个问题后它可能还会存在,但不影响功能。
  • 错误-66671对应的是kAudioSessionErr_CannotActivateSession,本质就是音频会话没有正确激活导致的。
  • 如果你需要在后台播放音频,还需要在Info.plist里添加UIBackgroundModes并勾选audio选项。

内容的提问来源于stack exchange,提问作者Staxks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:53:03