- pygame.mixer.music
-
модуль pygame для управления потоковым аудио
Модуль music тесно связан с
pygame.mixer. Используйте модуль music для управления воспроизведением музыки в звуковом миксер.Разница между воспроизведением музыки и обычным воспроизведением звука заключается в том, что музыка воспроизводится потоково и никогда не загружается полностью сразу. Система микшера поддерживает только один музыкальный поток одновременно.
В более старых версиях pygame поддержка
MP3была ограничена под Mac и Linux. Это изменилось в pygamev2.0.2, который получил улучшенную поддержку MP3. Рассмотрите возможность использованияOGGформата файла для музыки, поскольку в большинстве случаев он обеспечивает немного лучшую сжатие, чем MP3.- pygame.mixer.music.load()
-
Загрузка музыкального файла для воспроизведенияload(filename) -> Noneload(fileobj, namehint="") -> None
Это загрузит имя файла/объект файла музыки и подготовит его к воспроизведению. Если музыкальный поток уже воспроизводится, он будет остановлен. Это не запускает воспроизведение музыки.
Если вы загружаете из объекта файла, параметр namehint можно использовать для указания типа музыкальных данных в объекте. Например:
load(fileobj, "ogg").Изменено в pygame 2.0.2: Добавлен необязательный
namehintаргумент
- pygame.mixer.music.unload()
-
Выгрузка загруженной музыки для освобождения ресурсовunload() -> None
Это закрывает ресурсы, такие как файлы, для любой загруженной музыки.
Новое в pygame 2.0.0.
- pygame.mixer.music.play()
-
Запуск воспроизведения музыкального потокаplay(loops=0, start=0.0, fade_ms=0) -> None
Это воспроизведет загруженный музыкальный поток. Если музыка уже воспроизводится, она будет перезапущена.
loops— необязательный целочисленный аргумент, который по умолчанию равен0, который указывает, сколько раз нужно повторить музыку. Музыка повторяется бесконечно, если этот аргумент установлен в-1.start— необязательный числовой аргумент, который по умолчанию равен0.0, который обозначает позицию во времени, с которой начинается воспроизведение музыки. Начальная позиция зависит от формата воспроизводимой музыки.MP3иOGGиспользуют позицию как время в секундах. Для файловMP3выбранная позиция начального времени может быть неточной, поскольку такие вещи, как кодирование с переменной скоростью передачи данных и теги ID3, могут нарушить вычисления времени. Для музыкиMODэто порядковый номер паттерна. Передача начальной позиции приведет к ошибке NotImplementedError, если начальную позицию нельзя установить.fade_ms— необязательный целочисленный аргумент, который по умолчанию равен0, который обозначает период времени (в миллисекундах), в течение которого музыка будет плавно нарастать от уровня громкости0.0до максимальной громкости (или уровня громкости, ранее установленного функциейset_volume()). Образец может закончиться до завершения плавного нарастания громкости. Если музыка уже воспроизводится,fade_msигнорируется.Изменено в pygame 2.0.0: Добавлен необязательный
fade_msаргумент
- pygame.mixer.music.rewind()
-
перезапуск музыкиrewind() -> None
Сбрасывает воспроизведение текущей музыки в начало. Если ранее использовалась функция
pause()для приостановки музыки, музыка останется приостановленной.Примечание
rewind()поддерживает ограниченное количество типов файлов, и, в частности, файлыWAVНЕ поддерживаются. Для неподдерживаемых типов файлов используйтеplay(), которая перезапустит воспроизведение уже воспроизводимой музыки (обратите внимание, что это снова запустит воспроизведение музыки, даже если она была ранее приостановлена).
- pygame.mixer.music.stop()
-
остановка воспроизведения музыкиstop() -> None
Останавливает воспроизведение музыки, если оно в данный момент выполняется. Будет вызвано событие endevent, если оно установлено. Музыка не будет выгружена.
- pygame.mixer.music.pause()
-
временная остановка воспроизведения музыкиpause() -> None
Временно останавливает воспроизведение музыкального потока. Его можно возобновить с помощью функции
unpause().
- pygame.mixer.music.unpause()
-
возобновление приостановленной музыкиunpause() -> None
Это возобновит воспроизведение музыкального потока после его приостановки.
- pygame.mixer.music.fadeout()
-
остановка воспроизведения музыки после плавного выключения звукаfadeout(time) -> None
Плавно выключает и останавливает текущую воспроизводимую музыку.
Аргумент
timeобозначает целые миллисекунды, в течение которых генерируется эффект плавного уменьшения громкости.Обратите внимание, что эта функция блокирует выполнение, пока музыка не выключится плавно. Вызовы
fadeout()иset_volume()не будут иметь никакого эффекта в течение этого времени. Если событие было установлено с помощьюset_endevent(), оно будет вызвано после того, как музыка выключится плавно.
- pygame.mixer.music.set_volume()
-
установка громкости музыкиset_volume(volume) -> None
Устанавливает громкость воспроизведения музыки.
Аргумент
volume— это число с плавающей точкой от0.0до1.0, которое устанавливает уровень громкости. При загрузке новой музыки громкость сбрасывается до максимальной. Еслиvolumeимеет отрицательное значение, оно будет проигнорировано, и громкость останется на текущем уровне. Если аргументvolumeбольше, чем1.0, громкость будет установлена в1.0.
- pygame.mixer.music.get_volume()
-
получение громкости музыкиget_volume() -> значение
Возвращает текущую громкость для миксера. Значение будет находиться между
0.0и1.0.
- pygame.mixer.music.get_busy()
-
проверка, воспроизводится ли музыкальный потокget_busy() -> bool
Возвращает True, когда музыкальный поток активно воспроизводится. Когда музыка бездействует, возвращает False. В pygame 2.0.1 и выше эта функция возвращает False, когда музыка приостановлена. В pygame 1 она возвращает True, когда музыка приостановлена.
Изменено в pygame 2.0.1: Возвращает False, когда музыка приостановлена.
- pygame.mixer.music.set_pos()
-
установка позиции для воспроизведенияset_pos(pos) -> None
Это устанавливает позицию в музыкальном файле, с которой начнется воспроизведение. Значение «pos», число с плавающей точкой (или число, которое можно преобразовать в число с плавающей точкой), зависит от формата музыки.
Для файлов
MODpos — это целочисленный номер паттерна в модуле. ДляOGGэто абсолютное положение в секундах от начала звука. Для файловMP3это относительное положение в секундах от текущего положения. Для абсолютного позиционирования в файлеMP3сначала вызовитеrewind().Другие форматы файлов не поддерживаются. Более новые версии SDL_mixer имеют лучшую поддержку позиционирования, чем более старые. Если определенный формат не поддерживает позиционирование, возникает ошибка SDLError.
Функция
set_pos()вызывает подлежащую функцию SDL_mixerMix_SetMusicPosition.Новое в pygame 1.9.2.
- pygame.mixer.music.get_pos()
-
получить время воспроизведения музыкиget_pos() -> время
Это возвращает количество миллисекунд, в течение которых воспроизводилась музыка. Возвращаемое время учитывает только время воспроизведения, а не любые начальные смещения.
- pygame.mixer.music.queue()
-
помещение файла звука в очередь для воспроизведения после текущегоqueue(filename) -> Nonequeue(fileobj, namehint="", loops=0) -> None
Это загружает файл звука и помещает его в очередь. Файл звука в очереди начнёт воспроизводиться сразу после естественного завершения текущего звука. Одновременно может быть только один файл в очереди. Добавление нового звука в очередь, когда уже есть другой звук в очереди, приведёт к тому, что новый звук станет звуком в очереди. Кроме того, если текущий звук когда-либо остановится или изменится, звук в очереди будет утерян.
Если вы загружаете из объекта файла, параметр namehint может использоваться для указания типа данных музыки в объекте. Например:
queue(fileobj, "ogg").Следующий пример воспроизведёт музыку Баха шесть раз, а затем музыку Моцарта один раз:
pygame.mixer.music.load('bach.ogg') pygame.mixer.music.play(5) # Plays six times, not five! pygame.mixer.music.queue('mozart.ogg')Изменено в pygame 2.0.2: Добавлен необязательный
namehintаргумент
- pygame.mixer.music.set_endevent()
-
принуждение музыки отправлять событие при остановке воспроизведенияset_endevent() -> Noneset_endevent(type) -> None
Это заставляет Pygame сигнализировать (через очередь событий) о завершении воспроизведения музыки. Аргумент определяет тип события, которое будет помещено в очередь.
Событие будет помещено в очередь каждый раз при завершении воспроизведения музыки, а не только в первый раз. Чтобы остановить помещение события в очередь, вызовите этот метод без аргументов.
- pygame.mixer.music.get_endevent()
-
получить событие, которое канал отправляет при остановке воспроизведенияget_endevent() -> тип
Возвращает тип события, которое будет отправляться каждый раз при завершении воспроизведения музыки. Если нет события окончания, функция возвращает
pygame.NOEVENT.
Изменить на GitHub
© Pygame Developers.
Licensed under the GNU LGPL License version 2.1.
https://www.pygame.org/docs/ref/music.html