Вам нужно выполнить запрос диапазона. Создайте временную метку, например, используя strtotime (), чтобы получить временную метку unix в начале дня, а другую - в конце дня.
В зависимости от того, хотите ли вы, чтобы эти два конца включительно или эксклюзив, вы затем используете
// Both points/seconds inclusive
->find(array("date" => array('$gte' => $startOfDay, '$lte' => $endOfDay)));
// Both seconds exclusive
->find(array("date" => array('$gt' => $startOfDay, '$lt' => $endOfDay)));
После почти двух недель не думая о проблеме, я нашел решение. Просто нужно условие, когда устанавливать Позицию (поэтому я изменил закомментированную строку на эти):
if (mediaPlayer.Position > TimeSpan.FromSeconds(value + 1) || mediaPlayer.Position < TimeSpan.FromSeconds(value - 1))
mediaPlayer.Position = TimeSpan.FromSeconds(value);
Хотя требуется хотя бы 1 секунда изменения, таким образом, программа игнорирует откаты в миллисекундах, что вызывает заикание, пока ползунок все еще перетаскивается.