     }
 
     open func play(at when: AVAudioTime?) {
+
+        if audioFileBuffer == nil {
+            initialize()
+        }
 
         if ❗️playing {
             if audioFileBuffer != nil {


    /// Restart playback from current position
    open func resume() {
        if ❗️playing && paused {
            playing = true
            paused = false
            internalPlayer.play()
        }
    }


        avAudioNode = internalMixer
        internalPlayer.volume = 1.0

        if !deferBuffering {
            initialize()
        }
    }

    fileprivate var defaultBufferOptions: AVAudioPlayerNodeBufferOptions {
