Версия 2.1.0

Quick search

Аудио

Загрузите звуковой файл и воспроизведите его с помощью:

from kivy.core.audio import SoundLoader

sound = SoundLoader.load('mytest.wav')
if sound:
    print("Звук найден по адресу %s" % sound.source)
    print("Продолжительность звука составляет %.3f секунд" % sound.length)
    sound.play()

Вы не должны использовать класс Sound напрямую. Класс, возвращаемый SoundLoader.load(), будет лучшим провайдером звука для конкретного типа файла, поэтому в зависимости от типа файла он может вернуть разные классы Sound.

Распределение событий и изменение состояния

Аудио часто обрабатывается параллельно вашему коду. Это означает, что часто вам нужно войти в цикл событий Kivy eventloop для корректной обработки событий и изменения состояния.

Обычно вам не нужно беспокоиться об этом, так как приложения Kivy обычно всегда требуют этот цикл событий для обеспечения отзывчивости интерфейса, но полезно иметь это в виду при отладке или выполнении в REPL (цикл Read-eval-print).

Изменено в версии 1.10.0: Поставщики pygst и gi были удалены.

Изменено в версии 1.8.0: Теперь есть 2 различных реализации Gstreamer: одна с использованием Gi/Gst работает как для Python 2+3 с Gstreamer 1.0, так и для Python 2 + Gstreamer 0.10.

Примечание

Основная библиотека аудио не поддерживает запись аудио. Если вам нужна эта функциональность, обратитесь к расширению audiostream.

class kivy.core.audio.Sound[исходный код]

Базовый класс: kivy.event.EventDispatcher

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

Используйте SoundLoader для загрузки звука.

Events
on_play: Нет

Срабатывает, когда проигрывается звук.

on_stop: Нет

Срабатывает, когда воспроизведение звука останавливается.

filename

Устарело с версии 1.3.0: Используйте source вместо этого.

get_pos()[исходный код]

Возвращает текущую позицию аудиофайла. Возвращает 0, если воспроизведение не начато.

Добавлено в версии 1.4.1.

property length

Получите продолжительность звука (в секундах).

load()[исходный код]

Загрузите файл в память.

loop

Установите True, если звук должен автоматически повторяться после завершения.

Добавлено в версии 1.8.0.

loop - это BooleanProperty и по умолчанию False.

pitch

Тональность звука. 2 - это октава выше, 0,5 - ниже. Это реализовано только для аудиопровайдера SDL2.

Добавлено в версии 1.10.0.

pitch - это NumericProperty и по умолчанию 1.

play()[исходный код]

Проиграть файл.

seek(position)[исходный код]

Перейдите к <позиции> (в секундах).

Замечание

Большинство аудиопровайдеров не могут выполнять поиск, когда аудио остановлено. Сначала воспроизведите, а затем выполняйте поиск.

source

Имя файла / источник вашего аудиофайла.

Добавлено в версии 1.3.0.

source - это StringProperty по умолчанию None и только для чтения. Используйте SoundLoader.load() для загрузки аудио.

state

Состояние звука, одно из ‘stop’ или ‘play’.

Добавлено в версии 1.3.0.

state - это только для чтения OptionProperty.

status

Устарело с версии 1.3.0: Используйте state вместо этого.

stop()[исходный код]

Остановить воспроизведение.

unload()[исходный код]

Выгрузить файл из памяти.

volume

Громкость, в диапазоне от 0 до 1. 1 означает максимальную громкость, 0 - без звука.

Новое в версии 1.3.0.

volume - это NumericProperty и по умолчанию 1.

class kivy.core.audio.SoundLoader[source]

Базовый класс: builtins.object

Загружайте звук, используя лучший загрузчик для указанного типа файла.

static load(filename)[source]

Загрузите звук и верните экземпляр Sound().

static register(classobj)[source]

Зарегистрируйте новый класс для загрузки звука.