AVAudioPlayer在应用程序进入后台后停止返回正确的currentTime。
创始人
2024-11-12 21:30:42
0

在应用程序进入后台后,AVAudioPlayer会被暂停,因此获取currentTime时可能会返回不正确的值。要解决这个问题,可以在应用程序进入后台之前保存当前的currentTime,并在应用程序返回前台时恢复它。

以下是一个示例代码:

import AVFoundation
import UIKit

class ViewController: UIViewController {
    var audioPlayer: AVAudioPlayer?
    var currentTime: TimeInterval = 0.0 // 保存当前的currentTime

    override func viewDidLoad() {
        super.viewDidLoad()

        // 初始化AVAudioPlayer
        guard let filePath = Bundle.main.path(forResource: "audio", ofType: "mp3") else {
            return
        }
        let url = URL(fileURLWithPath: filePath)
        do {
            audioPlayer = try AVAudioPlayer(contentsOf: url)
            audioPlayer?.prepareToPlay()
        } catch {
            print("Failed to initialize AVAudioPlayer: \(error)")
        }

        // 注册应用程序进入后台和返回前台的通知
        NotificationCenter.default.addObserver(self, selector: #selector(applicationDidEnterBackground), name: UIApplication.didEnterBackgroundNotification, object: nil)
        NotificationCenter.default.addObserver(self, selector: #selector(applicationWillEnterForeground), name: UIApplication.willEnterForegroundNotification, object: nil)
    }

    @objc func applicationDidEnterBackground() {
        // 保存当前的currentTime
        currentTime = audioPlayer?.currentTime ?? 0.0
        audioPlayer?.pause()
    }

    @objc func applicationWillEnterForeground() {
        // 恢复之前保存的currentTime并继续播放音频
        audioPlayer?.currentTime = currentTime
        audioPlayer?.play()
    }
}

在这个示例中,我们使用AVAudioPlayer来播放一个名为"audio.mp3"的音频文件。当应用程序进入后台时,我们保存当前的currentTime,并在应用程序返回前台时恢复它并继续播放音频。

相关内容

热门资讯

详情透视!pokemmo脚本辅... 详情透视!pokemmo脚本辅助器!一贯有辅助技巧(有挂猫腻)-哔哩哔哩pokemmo脚本辅助器破解...
开挂透视!wepoker辅助器... 开挂透视!wepoker辅助器软件下载,微乐小程序辅助多少钱,经验教程(有挂分析)-哔哩哔哩一、we...
解迷透视!德州机器人代打脚本!... 解迷透视!德州机器人代打脚本!切实是有辅助app(有挂实锤)-哔哩哔哩1、起透看视 德州机器人代打脚...
揭幕透视!约局吧德州真的有透视... 揭幕透视!约局吧德州真的有透视挂吗,微乐河南小程序辅助器免费,办法教程(讲解有挂)-哔哩哔哩1、首先...
揭幕透视!佛手在线大菠萝为什么... 揭幕透视!佛手在线大菠萝为什么都输!本来真的是有辅助插件(有挂规律)-哔哩哔哩1、玩家可以在佛手在线...
详细透视!德普之星有透视辅助吗... 详细透视!德普之星有透视辅助吗,微信微乐跑得快游戏辅助脚本,法子教程(确实有挂)-哔哩哔哩1、下载好...
科普透视!哈糖大菠萝怎么挂!真... 科普透视!哈糖大菠萝怎么挂!真是有辅助攻略(有挂透视)-哔哩哔哩在进入哈糖大菠萝怎么挂软件靠谱后,参...
推荐透视!wepoker透视有... 推荐透视!wepoker透视有用吗,微乐辅助软件购买平台,积累教程(有挂猫腻)-哔哩哔哩1、不需要A...
有挂透视!sohoo开挂辅助!... 有挂透视!sohoo开挂辅助!都是真的是有辅助教程(有挂详情)-哔哩哔哩sohoo开挂辅助破解侠是真...
推荐透视!德扑HHpoker有... 推荐透视!德扑HHpoker有挂吗,微信自建房辅助多少钱一个月,练习教程(有挂讲解)-哔哩哔哩该软件...