Ви можете використовувати декілька зовнішніх плеєрів через труби. Однак ви майже завжди будете відчувати втрату швидкості. Також існує проблема з контролем відтворення.
Я рекомендую вам pyaudio, це чудово працює.
Якщо ви хочете також відтворити стиснуті файли, я буду так вільно вказати на мій модуль decoder.py. Ви можете знайти його на PyPI.
Він також використовує підпроцес, але викликає декодери замість плеєрів. Вони не використовують багато процесора, і деякі з них знають, як використовувати апаратне прискорення. Потім ви можете використовувати pyaudio або щось подібне для виведення необроблених аудіоданих. Якщо ви хочете, ви навіть можете використовувати pygame, використовуючи pygame.sndarray. Таким чином ви можете грати більше форматів, ніж підтримка пігейму.
Я спробував decoder.py в середовищі PyQT GUI, з pyaudio, а також використовував aplay як зовнішній програвач. Це було на Raspberry Pi B.
Результати були досить задовольняючими в обох випадках.
Простота може бути поставлена під сумнів.
decoder.py сам по собі дуже простий, але вам потрібно поєднувати його з іншими libs, що збільшує кодові рядки.
Є приклад того, як відтворювати файли, що входять до програми decoder.py.