Почему AKAppleSequencer воспроизводит MIDI-файл быстрее, если темп файла превышает 60? - PullRequest
0 голосов
/ 06 марта 2020

Я загружаю MIDI-файл в AKAppleSequencer с темпом 80 ударов в минуту.

Я проверил свойство sequencer.length.seconds, и оно показывает длину файла в секундах. В моем случае длина файла составляет 33 секунды, а свойство length.seconds показывает то же самое.

У меня есть таймер, который срабатывает каждые 0,1 секунды и проверяет свойство sequencer.currentPosition.seconds при воспроизведении файла

Я заметил нечто странное: свойство sequencer.currentPosition.seconds увеличивается быстрее, чем фактические часы. Почему это происходит?

Когда я синхронизировал его с секундомером, мой миди-файл, который должен воспроизводиться 33 секунды, заканчивается через 24 секунды (приблизительно).

На моем секвенсоре, У меня нет никакого темпа, скорость установлена ​​на секвенсоре.

Когда я устанавливаю темп на 60 ударов в минуту с помощью sequencer.setTempo (60), свойство sequencer.currentPosition.seconds обновляется каждую секунду с правильной скоростью. Это создает другую проблему, теперь свойство length.seconds показывает 41 (увеличенное значение) вместо исходного 33, что ожидается при изменении темпа.

Я не пробовал это, но если я установил темп на больше 80 , думаю, воспроизведение файла будет еще быстрее.

...