• 0

كيف أشغل ملف صوتي عن طريق بايثون؟

أحتاج إلى تشغيل ملف صوتي (امتداده .wav) عن طريق لغة بايثون، فما هي أسهل طريقة لفعل ذلك؟ لأنني جربت pygame لكن المشكلة أنه مخصص للألعاب.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدة خيارات أخرى بدلا من pygame يمكنك استخدامها لتشغيل الملفات الصوتية عن طريق بايثون، فيمكنك مثلا استخدام أداة Snack Sound لتشغيل ملفات mp3 و wav وتعمل على عدة أنظمة تشغيل إذ تقرأ الملف الصوتي عن طريق دالة read() ومن ثم تشغيله عن طريق دالة play() كما في المثال التالي:

s = Sound()
s.read('sound.wav')
s.play()

في نظام ويندوز يمكنك استخدام مكتبة winsound كما في المثال التالي:

import winsound, sys

def beep(sound):
    winsound.PlaySound('%s.wav' % sound, winsound.SND_FILENAME)

if __name__ == '__main__':
    beep(sys.argv[1])

ويمكنك استخدام ossaudiodev في لينكس كما في المثال التالي:

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:
  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()

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن