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,并在应用程序返回前台时恢复它并继续播放音频。

相关内容

热门资讯

一分钟介绍!雀神全民棋牌云南有... 一分钟介绍!雀神全民棋牌云南有挂吗,微扑克辅助是有(详细透视辅助挂教程);雀神全民棋牌云南有挂吗简单...
6分钟教程!闲来跑胡子免费下载... 6分钟教程!闲来跑胡子免费下载苹果,德扑之星有规律(详细透视辅助插件教程);一、闲来跑胡子免费下载苹...
五分钟详情!天天开心13水有没... 五分钟详情!天天开心13水有没有外挂,aapoker线上规律(详细透视辅助脚本教程)需要回顾用户提供...
一分钟了解!多乐够级辅助工具苹... 一分钟了解!多乐够级辅助工具苹果版,微扑克有辅助挂(详细透视辅助神器教程);多乐够级辅助工具苹果版黑...
六分钟技巧!中至小程序有挂吗,... 六分钟技巧!中至小程序有挂吗,wepoke软件透明挂存在(详细透视辅助器教程);《WPK辅助透视》‌...
十分钟方法!土豆互娱辅助,ai... 十分钟方法!土豆互娱辅助,ai机器人代打德州(详细透视辅助软件教程);(需添加指定薇75744690...
七分钟规律!老友棋牌,微扑克的... 七分钟规律!老友棋牌,微扑克的辅助工具(详细透视辅助插件教程)关于老友棋牌机制的,其中提到了后台系统...
5分钟了解!福建天天开心王国辅... 5分钟了解!福建天天开心王国辅助器,微扑克辅助工具可以下载(详细透视辅助助手教程)1、很好的工具软件...
3分钟教程!中至上饶棋牌有挂的... 3分钟教程!中至上饶棋牌有挂的吗,wpk微扑克最新辅助(详细透视辅助器教程);原来确实真的有挂(需添...
7分钟辅助挂!白金岛跑胡子辅助... 7分钟辅助挂!白金岛跑胡子辅助器,约局吧辅助工具获取方法(详细透视辅助挂教程);wpk透视辅助官方版...