/**
  * Init tracker if in exam mode
  *
  * @param \_OurBrand_\Quiz\Domain\Model\Exercise $exercise
  *
  * @return json
  */
 public function getDictationAudioAction($exercise)
 {
     $audioFiles = array();
     foreach ($exercise->getSnippets() as $snippet) {
         if ($snippet->getAudio() && $snippet->getAudio()->getOriginalResource()) {
             $audioFiles[] = array('src' => base64_encode($this->resourcePublisher->getPersistentResourceWebUri($snippet->getAudio()->getOriginalResource())));
         }
     }
     if ($this->studentQuizSession) {
         $tracker = $this->trackStudentAudioPlaybackRepository->findBySessionAndExercise($this->studentQuizSession, $exercise)->getFirst();
         if (!is_a($tracker, '\\_OurBrand_\\Quiz\\Domain\\Model\\TrackStudentAudioPlayback')) {
             $tracker = new TrackStudentAudioPlayback();
             $tracker->setExercise($exercise);
             $tracker->setStudentQuizSession($this->studentQuizSession);
             $tracker->setTimeElapsed(0);
             $tracker->setStatus(0);
             $this->trackStudentAudioPlaybackRepository->add($tracker);
             $this->persistenceManager->persistAll();
         }
         return json_encode(array('elapsedTime' => $tracker->getTimeElapsed(), 'status' => $tracker->getStatus(), 'trackerId' => $this->persistenceManager->getIdentifierByObject($tracker), 'audioFiles' => $audioFiles));
     }
     return json_encode(array('status' => 0, 'audioFiles' => $audioFiles));
 }