اذهب إلى المحتوى
  • 0

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

Amanii

السؤال

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

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

 #include <iostream>
using namespace std;

int main()

{

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

  sndPlaySound(WAV, SND_ASYNC);

  return 0;

}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 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;
}

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...