Как воспроизвести аудио (.mp3) на Python
Python для начинающих audio python, mp3 audio python, mp3 python
В данной статье мы покажем как можно воспроизвести аудио файлы в разных библиотеках на Python. Python универсальный язык программирование и в нем можно манипулировать не только текстом и цифрами но и аудио-видео файлами. Ниже мы покажем код как работать с mp3 в разных библиотеках.
Библиотека PyGame
Что же такое Pygame? Pygame - это кроссплатформенная библиотека языка Python, предназначенная для написания компьютерных игр и мультимедиа приложений. PyGame базируется на библиотеке SDL.
import pygame
pygame.init()
song = pygame.mixer.Sound('file.mp3')
clock = pygame.time.Clock()
song.play()
while True:
clock.tick(60)
pygame.quit()
На создание скрипта с нуля для манипуляции аудио файлов может уйти много времени. Если вам нужно просто обрезать песню онлайн вы можете использовать онлайн редактор mp3 файлов. Такие аудио редакторы позволяют быстро обрезать песню и скачать ее онлайн.
Библиотека Pyglet
Pyglet предоставляет собой API для работы с мультимедийными данными в приложениях, написанных с помощью Python. Это OpenGL библиотека, которая работает на нескольких платформах. Она в основном используется для разработки игровых и других графически насыщенных приложений.
import pyglet
song = pyglet.media.load('file.mp3')
song.play()
pyglet.app.run()
Библиотека GStreamer
GStreamer является чрезвычайно мощным и гибким фреймворком для разработки приложений, обрабатывающих потоковые мультимедийные данные. Многие преимущества фреймворка GStreamer обусловлены его модульной архитектурой: GStreamer позволяет достаточно просто подключать дополнительные модули плагинов. Но платой за использование модульной архитектуры и удобных интерфейсов чаще всего является усложнение программного продукта, при этом процесс разработки новых приложений на его основе не всегда прост.
import pygst
pygst.require('0.10')
import gst
import gobject
import os
mainloop = gobject.MainLoop()
pl = gst.element_factory_make("playbin", "player")
pl.set_property('uri','file://'+os.path.abspath('file.mp3'))
pl.set_state(gst.STATE_PLAYING)
mainloop.run()
- Как определить кодировку последовательности байтов в Python
- Runscript – утилита для запуска python скриптов
- Как определить мощности виртуального сервера для своего проекта?
- Классы встроенных исключений в Python
- Абстрактные методы в Python
- Создание классов и объектов ООП Python
- Создаем PageRankChecker с GUI на Python
ни один из выше приведенных методов не заработал. Первый молча висит пискнув раз, второй формат не может разобрать, третий тоже что то вроде второго.
P.S.: проверял и в python2,7 и python3
второй вариант работает. спасибо
Первый метод будет работать так
import time
from pygame import mixer # Load the popular external library
mixer.init()
mixer.music.load('music.mp3')
mixer.music.play()
time.sleep(5)
поток не должен завершаться до окончания проигрывания