Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Как воспроизвести аудио (.mp3) на Python

16 октября 2015 г. Archy Просмотров: 46170 RSS 4
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()
Комментариев: 4
  1. ни один из выше приведенных методов не заработал. Первый молча висит пискнув раз, второй формат не может разобрать, третий тоже что то вроде второго.

  2. P.S.: проверял и в python2,7 и python3

  3. второй вариант работает. спасибо

  4. Андрей | 2020-06-15 в 14:19:41

    Первый метод будет работать так

    import time

    from pygame import mixer # Load the popular external library

    mixer.init()

    mixer.music.load('music.mp3')

    mixer.music.play()

    time.sleep(5)

    поток не должен завершаться до окончания проигрывания