#python #аудио
Доброго времени суток. Хочу воспроизвести музыку формата flac. Пробовал pygame, pydub - не вышло. Посоветуйте библиотеку для работы с flac. Заранее спасибо.
Ответы
Ответ 1
Чтобы просто запустить файл на проигрывание из программы, можно попробовать webbrowser модуль, который попытается использовать приложение по умолчанию в системе для проигрывания .flac файлов: import webbrowser webbrowser.open('example.flac') В более общем случае можно использовать GStreamer, который поддерживает многие форматы и работает на большинстве распространённых систем. Вот минимальный пример, который проигрывает произвольный медиа-файл (аудио, видео), заданный с командной строки: #!/usr/bin/env python """Play a media file using GStreamer.""" import os import sys try: from urllib.parse import urljoin from urllib.request import pathname2url except ImportError: # Python 2 from urlparse import urljoin from urllib import pathname2url from gi.repository import GObject, Gst Gst.init(None) def path2url(path): return urljoin('file:', pathname2url(os.path.abspath(path))) media_uri = path2url(sys.argv[1]) # file:// url to play print(media_uri) player = Gst.ElementFactory.make('playbin', None) player.set_property('uri', media_uri) player.set_state(Gst.State.PLAYING) try: GObject.MainLoop().run() except KeyboardInterrupt: # stop playing on Ctrl-C player.set_state(Gst.State.NULL) Чтобы завершить скрипт, нажми Ctrl-C. Вот более полный пример, который показывает как слушать сообщения от Gstreamer, чтобы, например, выйти из программы по окончанию проигрывания файла или начать играть файл заново. Чтобы установить Gstreamer на Ubuntu: $ sudo apt-get install python-gi python3-gi \ gstreamer1.0-tools \ gir1.2-gstreamer-1.0 \ gir1.2-gst-plugins-base-1.0 \ gstreamer1.0-plugins-good \ gstreamer1.0-plugins-ugly \ gstreamer1.0-plugins-bad \ gstreamer1.0-libav
Комментариев нет:
Отправить комментарий