                                        (/ (.-offsetWidth (.-target %)))
                                        (* (:duration @state))))
 
+               enable-preload
+               #(go (>! command-ch :preload))
+
                seek-time
-               #(go (>! command-ch [:seek @mouse-time]))]
+               #(go (>! command-ch [:seek @mouse-time])
+                    (>! command-ch :play))]
 
     [:div.audio-player {:class (str "state-" (clj->js (:status @state))
                                     (when (is-playing) " is-playing")


     [:div.seek-bar
      {:on-click seek-time
       :on-mouse-move update-mouse-time}

      (when (pos? @mouse-time)


               update-status
               (fn [status]
                 (prn "audio player: status changed")
                 (prn "   - source: " @source)
                 (prn "   - status: " status)
                 (swap! state assoc-in [:status] status))]
