AVAudioPlayer循环播放不无缝
创始人
2024-11-12 21:30:32
0

在AVAudioPlayer循环播放的时候,使用两个AVAudioPlayer对象交替播放,以达到无缝循环的效果。

代码示例:

var playerOne: AVAudioPlayer?
var playerTwo: AVAudioPlayer?
var activePlayer: AVAudioPlayer?

func playLoopedAudio() {
    let url = Bundle.main.url(forResource: "loopedAudio", withExtension: "mp3")!
    do {
        playerOne = try AVAudioPlayer(contentsOf: url)
        playerTwo = try AVAudioPlayer(contentsOf: url)
        // 设置两个播放器循环播放
        playerOne?.numberOfLoops = -1
        playerTwo?.numberOfLoops = -1
        // 将一个播放器设置为当前活动的播放器,开始播放
        activePlayer = playerOne
        activePlayer?.play()
    } catch {
        print("Unable to play looped audio: \(error.localizedDescription)")
    }
}

func pauseLoopedAudio() {
    activePlayer?.pause()
}

// 切换活动播放器
func switchActivePlayer() {
    if activePlayer == playerOne {
        activePlayer = playerTwo
    } else {
        activePlayer = playerOne
    }
}

// 检测是否需要切换活动播放器
func checkForSwitchActivePlayer() {
    let timeElapsed = activePlayer?.currentTime ?? 0.0
    let duration = activePlayer?.duration ?? 0.0
    let timeRemaining = duration - timeElapsed
    // 如果当前播放器还剩下1秒以下的时间,就切换到另一个播放器,保证无缝循环
    if timeRemaining < 1.0 {
        switchActivePlayer()
        activePlayer?.play()
    }
}

在上面的示例中,我们创建了两个AVAudioPlayer对象,在循环播放时交替使用。在每次播放之后,我们检查活动播放器是否需要切换,以保持无缝循环的效果。

相关内容

热门资讯

三分钟技法!全来潜山跑风破解版... 三分钟技法!全来潜山跑风破解版安卓,新超凡大厅辅助(辅助)确实存在有脚本(哔哩哔哩)1、任何全来潜山...
第十分钟方案!非凡贪玩脚本,新... 第十分钟方案!非凡贪玩脚本,新西部挂透视辅助(辅助)一直真的有平台(哔哩哔哩)1、新西部挂透视辅助脚...
7分钟教材!上品五十k辅助,皇... 7分钟教材!上品五十k辅助,皇豪互众辅助软件是干嘛的(辅助)都是存在有神器(哔哩哔哩);1、皇豪互众...
九分钟攻略!开心泉州小程序辅助... 九分钟攻略!开心泉州小程序辅助,新西部挂透视辅助(辅助)真是存在有脚本(哔哩哔哩)1、开心泉州小程序...
九分钟妙计!中至吉安小程序微信... 九分钟妙计!中至吉安小程序微信小程序,新永和链接辅助(辅助)一贯有挂辅助(哔哩哔哩)1、中至吉安小程...
第七分钟烘培!福建天天开心辅助... 第七分钟烘培!福建天天开心辅助工具下载,新世界辅助器(辅助)竟然有挂下载(哔哩哔哩)1)福建天天开心...
十分钟举措!微玩体育辅助器,新... 十分钟举措!微玩体育辅助器,新卡农辅助软件(辅助)切实有挂修改器(哔哩哔哩)1、下载好新卡农辅助软件...
第八分钟妙计!潮友汇俱乐部辅助... 第八分钟妙计!潮友汇俱乐部辅助器下载,皇豪互娱透视科技(辅助)其实存在有神器(哔哩哔哩)1、潮友汇俱...
第五分钟法门!微信小程序中至上... 第五分钟法门!微信小程序中至上饶麻将有挂,新老夫子脚本(辅助)好像真的是有脚本(哔哩哔哩)1、操作简...
第5分钟攻略!禅游科技辅助,新... 第5分钟攻略!禅游科技辅助,新九哥智能辅助app(辅助)总是真的是有神器(哔哩哔哩)1、第5分钟攻略...