AVAudioPlayer在播放两个声音时出现回声问题
创始人
2024-11-12 21:30:36
0

在播放第二个声音时,先暂停第一个声音,等第二个声音播放完毕后,再恢复第一个声音的播放。

具体代码如下:

import AVFoundation

class ViewController: UIViewController, AVAudioPlayerDelegate {

    var player1: AVAudioPlayer!
    var player2: AVAudioPlayer!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 创建player1和player2
        let path1 = Bundle.main.path(forResource: "sound1", ofType: "mp3")
        let url1 = NSURL.fileURL(withPath: path1!)
        let path2 = Bundle.main.path(forResource: "sound2", ofType: "mp3")
        let url2 = NSURL.fileURL(withPath: path2!)

        do {
            player1 = try AVAudioPlayer(contentsOf: url1)
            player1.delegate = self
            player1.prepareToPlay()

            player2 = try AVAudioPlayer(contentsOf: url2)
            player2.delegate = self
            player2.prepareToPlay()

        } catch let error as NSError {
            print(error.description)
        }
    }

    func playSound1() {
        player1.play()
    }

    func playSound2() {
        player1.pause()
        player2.play()
    }

    func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
        if player == player2 {
            player1.play()
        }
    }
}

相关内容

热门资讯

透视线上!aapoker插件(... 透视线上!aapoker插件(透视)透视插件(一直存在有挂);1、实时aapoker插件开挂更新:用...
透视最新!aapoker怎么提... 透视最新!aapoker怎么提高中牌率(透视)透视插件(本来真的是有挂)1、让任何用户在无需aapo...
透视辅助!aapoker能控制... 透视辅助!aapoker能控制牌吗(透视)真的假的(果然真的是有挂)1、下载好aapoker能控制牌...
透视系统!aapoker辅助怎... 透视系统!aapoker辅助怎么用(透视)脚本(一贯是有挂);1、下载好aapoker辅助怎么用辅助...
透视透视!aapoker脚本(... 透视透视!aapoker脚本(透视)万能辅助器(确实真的是有挂)aapoker脚本辅助器中分为三种模...
透视辅助!aapoker发牌逻... 透视辅助!aapoker发牌逻辑(透视)插件下载(果然是有挂);1)aapoker发牌逻辑辅助挂:进...
透视最新!aapoker ai... 透视最新!aapoker ai插件(透视)插件下载(果然有挂);透视最新!aapoker ai插件(...
透视代打!aapoker ai... 透视代打!aapoker ai插件(透视)ai插件(果然真的是有挂)aapoker ai插件是一种具...
透视辅助!aapoker透视脚... 透视辅助!aapoker透视脚本下载(透视)万能辅助器(竟然是真的有挂)1、进入游戏-大厅左侧-新手...
透视计算!aapoker插件下... 透视计算!aapoker插件下载(透视)插件(都是是真的有挂)运aapoker插件下载辅助工具,进入...