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对象,在循环播放时交替使用。在每次播放之后,我们检查活动播放器是否需要切换,以保持无缝循环的效果。

相关内容

热门资讯

开挂透视!pokemmo脚本辅... 开挂透视!pokemmo脚本辅助,拱趴大菠萝十三水作必弊,手段教程(证实有挂)-哔哩哔哩1、首先打开...
了解透视!wepokerplu... 了解透视!wepokerplus辅助,wepoker辅助是真的假的,机巧教程(有挂神器)-哔哩哔哩该...
推荐透视!epoker免费透视... 推荐透视!epoker免费透视脚本,wpk软件是正规的吗,绝活儿教程(竟然有挂)-哔哩哔哩1、游戏颠...
教你透视!wejoker手机版... 教你透视!wejoker手机版透视脚本,wepoker私人局透视,技法教程(揭秘有挂)-哔哩哔哩1、...
推荐透视!hhpoker是真的... 推荐透视!hhpoker是真的假的,wepoker透视app下载,方式教程(有挂辅助)-哔哩哔哩1、...
关于透视!wpk模拟器,hhp... 关于透视!wpk模拟器,hhpoker有没有作必弊挂,模板教程(有挂方式)-哔哩哔哩hhpoker有...
教你透视!wepoker看底牌... 教你透视!wepoker看底牌,wpk辅助器是真的吗,资料教程(有挂细节)-哔哩哔哩;1、很好的工具...
关于透视!wepokerplu... 关于透视!wepokerplus作必弊,wepoker辅助器免费,窍要教程(了解有挂)-哔哩哔哩1、...
总结透视!newpoker怎么... 总结透视!newpoker怎么安装脚本,wepoker有没有透视方法,妙计教程(有挂助手)-哔哩哔哩...
详情透视!wpk有那种辅助吗,... 详情透视!wpk有那种辅助吗,cloudpoker怎么开挂,指南教程(有挂详细)-哔哩哔哩cloud...