                     scheduleBuffer(atTime: scheduledAVTime, options: defaultBufferOptions)
                 }
 
-                internalPlayer.play()
+                internalPlayer.play(at: when)
 
                 playing = true
                 paused = false


    /// Start playback
    open func start() {

        if ❗️playing {
            if audioFileBuffer != nil {

    ///              important that this value be the same for all of them as a reference point.
    ///
    open func play(from time: Double, to endTime: Double, avTime: AVAudioTime? ) {
        schedule(from: time, to: endTime, avTime: avTime)
        if endingFrame > startingFrame {
            start()
        } else {
            AKLog("ERROR AKaudioPlayer: cannot play, \(internalAudioFile.fileNamePlusExtension) " +
                "is empty or segment is too short")
        }
    }

    open func schedule(from time: Double, to endTime: Double, avTime: AVAudioTime? ) {
        stop()

        if endTime > 0 {
            self.endTime = endTime
        }
        self.startTime = time

        if endingFrame > startingFrame {
            scheduledAVTime = avTime
        }
    }

