2015-02-23 4 views
0

Загрузка аудиофайла в mplayer, приостановка его, а затем загрузка нового файла приводит к краткому фрагменту исходного аудиофайла, который воспроизводится перед воспроизведением нового файла.mplayer воспроизводит клип предыдущего файла при загрузке нового файла

Чтобы воспроизвести проблему:

  1. Run MPlayer в подчиненном режиме с терминала: mplayer -slave -quiet /path/to/audio.file
  2. MPlayer теперь принимает input commands. Введите pause и нажмите Enter, чтобы приостановить воспроизведение. Затем введите loadfile /path/to/new/audio.file и нажмите Enter для загрузки нового аудиофайла.

В документации input commands есть наконечник ...

Попробуйте использовать что-то вроде ...

  • pausing_keep_force pt_step 1
  • get_property пауза

, чтобы перейти к следующему файлу. Это позволяет избежать воспроизведения звука, начиная с старого файла, прежде чем переключиться на новый.

Я попытался использовать советник документации, но либо он не работает, либо я не понимаю, как правильно его использовать. Как предотвратить воспроизведение этого маленького бита старого аудиофайла?

Я собрал mplayer из ствола своего исходного дерева, и проблема не устранена.

ответ

0

Итак, для выяснения того, что «наконечник» был немного неполным, потребовался некоторый просмотр источника mplayer.

Мне удалось предотвратить короткий клип воспроизведения, добавив к игроку playplay и перейти на следующий трек, а не создать совершенно новый play_tree. FYI: «play_tree» - это просто структура данных, используемая mplayer для организации загруженных в данный момент треков.

После загрузки начальной дорожки, правильная загрузка новой дорожки может быть выполнена с помощью следующих команд ...

  • loadfile /path/to/new/audio.file 1
  • pt_step 1

Первая строка указывает MPlayer для загрузки новый файл и конечный 1 (который может быть заменен любым ненулевым значением), сообщает mplayer добавить файл в существующий play_tree. Вторая строка сообщает mplayer о переходе на 1 трек в play_tree.

Если номер в конце первой строки опущен или 0, будет создан новый play_tree, и новый файл будет автоматически воспроизводиться, но ему предшествует небольшая часть предыдущей дорожки.

Надеюсь, это поможет кому-то еще.