Table Of Contents
Аудио¶
Загрузите звуковой файл и воспроизведите его с помощью:
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: Нет
Срабатывает, когда воспроизведение звука останавливается.
- 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
.
- stop()[исходный код]¶
Остановить воспроизведение.
- unload()[исходный код]¶
Выгрузить файл из памяти.
- volume¶
Громкость, в диапазоне от 0 до 1. 1 означает максимальную громкость, 0 - без звука.
Новое в версии 1.3.0.
volume
- этоNumericProperty
и по умолчанию 1.