0

AVAudioEngine と AVAudioPlayerNode を使用して mp3 ファイルをフェードアウトしようとしています。私はそれを把握することはできません。誰でもSwiftで助けてもらえますか?

私はすでにいくつかのことを試しました。すべてが非常にうまく機能しますが、私が望むほどスムーズではありません.

    var fadeOutPlayer: Float = playerVolume
            var fadeOutQuinte: Float = playerQuinteVolume
            while fadeOutPlayer > 0.0 {
                player.volume = fadeOutPlayer
                playerQuinte.volume = fadeOutQuinte
                fadeOutPlayer -= 0.001
                fadeOutQuinte -= 0.001
                usleep(100)
            }


タイマーも試しました(フェードしません):

if !isTimerFadeOutRunning {
            player.volume = 0
            playerQuinte.volume = 0
            counter = 0
            timerFadeOut = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(runTimerFadeOut), userInfo: nil, repeats: true)
            isTimerFadeOutRunning = true
        }
    }

    @objc func runTimerFadeOut() {
        counter += 0.1
        if counter == 0.2 {
            player.pause()
            playerQuinte.pause()
        }
    }
4

1 に答える 1