Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Memainkan Fail Bunyi dalam Python: Kaedah Paling Mudah untuk Windows dan Linux

Cara Memainkan Fail Bunyi dalam Python: Kaedah Paling Mudah untuk Windows dan Linux

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-24 19:44:29852semak imbas

How to Play Sound Files in Python: The Simplest Methods for Windows and Linux

Cara Paling Mudah untuk Memainkan Bunyi dalam Python

Menentukan pendekatan paling mudah untuk memainkan fail bunyi dalam Python boleh melibatkan pertimbangan kebebasan platform dan keperluan pergantungan. Walaupun Pygame memberikan pilihan yang berkebolehan, ia mungkin berlebihan untuk mengendalikan main balik audio semata-mata.

Windows

Untuk sistem Windows, modul winsound terbina dalam menawarkan penyelesaian yang boleh diakses:

import winsound

winsound.PlaySound('sound.wav', winsound.SND_FILENAME)

Linux

Di Linux, modul ossaudiodev menyediakan alternatif:

from wave import open as waveOpen
from ossaudiodev import open as ossOpen

s = waveOpen('tada.wav','rb')
(nc,sw,fr,nf,comptype, compname) = s.getparams( )
dsp = ossOpen('/dev/dsp','w')

try:
  from ossaudiodev import AFMT_S16_NE
except ImportError:
  from sys import byteorder
  if byteorder == "little":
    AFMT_S16_NE = ossaudiodev.AFMT_S16_LE
  else:
    AFMT_S16_NE = ossaudiodev.AFMT_S16_BE

dsp.setparameters(AFMT_S16_NE, nc, fr)
data = s.readframes(nf)
s.close()
dsp.write(data)
dsp.close()

(Kredit untuk ossaudiodev: Bill Dandreta http://mail.python.org/pipermail/python -senarai/2004-Oktober/288905.html)

Atas ialah kandungan terperinci Cara Memainkan Fail Bunyi dalam Python: Kaedah Paling Mudah untuk Windows dan Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn