• 0

إضافة مقطع صوتي إلى البرنامج بلغة ++c؟

السلام عليكم كيف أضيف مقطع صوتي مُسجّل إلى برنامج بلغة ++c

وجدت كود يُعطي صوت بيب  لكن أريد مقطع مسجل؟

 #include <iostream>
using namespace std;

int main()

{

  char* WAV = "c:\\windows\\desktop\\something.wav";

  sndPlaySound(WAV, SND_ASYNC);

  return 0;

}

 

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


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

لإضافة مقطع صوتي مُسجّل إلى البرنامج بلغة ++c يجب PlaySound وليس sndPlaySound بالاضافة الى استدعاء بعض المكتبات الأخرى بحيث يكون الكود كما هو التالي:

#include <iostream>
#include"Windows.h"
#include"MMSystem.h"

using namespace std;

int main()
{
  PlaySound(TEXT("c:\\windows\\desktop\\something.wav"), NULL, SND_FILENAME | SND_LOOP | SND_ASYNC);
  system("pause");
  return 0;
}

وحسب مافهمت من الموضوع الذي طرحته أنك تريد أن يعمل المقطع الصوتي باستمرار لذلك نستعمل SND_LOOP التي ستجعل الصوت يتكرّر  في كل مرة ينتهي فيها.

ملاحظة : يجب استعمال SND_ASYNC مع SND_LOOP حسب ماذكر في الموقع الرسمي لMicrosoft. وكذلك يجدر الذكر بأن المقطع الصوتي يجب أن يكون بصيغة wav ، يعني أنه لا يقبل أي صيغة أخرى ( مثال mp3,acc...)

المزيد عن تعليمة PlaySound 

sound.cpp

1 شخص أعجب بهذا

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


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

أعتقد أن الصياغة الصحيحة لاستخدام هذه المكتبة هو التالي:

int main(int argc, char* argv[])
{
PlaySound("C:\\Users\\Commander\\Desktop\\test.wav", NULL, SND_ASYNC);

        getch();
        return 0;
}

حيث ثم بتعويض مسار ملف الصوت بالمقطع الصوتي الذي تريده.

إذا كان لديك أكثر من ملف فأنصحك باستخدام SND_FILENAME بدلا من SND_ASYNC  كما في هذا المثال البسيط:

int main(int argc, char* argv[])
{
PlaySound("C:\\Users\\Commander\\Desktop\\test.wav", NULL, SND_FILENAME);
PlaySound("C:\\Users\\Commander\\Desktop\\test2.wav", NULL, SND_FILENAME);
        return 0;
}

هذه المكتبة تعمل على نظام ويندوز فقط، وللمزيد من المعلومات أنصحك بالإطلاع على التوثيق الرسمي.

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


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

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

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

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


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

تسجيل الدخول

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


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