كيفية القيام بما يلي: استخدام استدعاء النظام الأساسي لتشغيل ملف Wave (دليل البرمجة لـ #C)

C# تعليمات برمجية يوضح المثال التالي كيفية إلى استدعاء النظام الأساسي باستخدام الخدمات إلى تشغيل ملف صوتي موجه تشغيل نظام تشغيل Windows.

مثال

هذا المثال تعليمات برمجية DllImportلاستيراد يستخدم winmm.dllل PlaySoundإدخال أسلوب يؤشر ك Form1 PlaySound(). المثال على نموذج Windows بسيط مع زر. يفتح النقر فوق الزر على إطارات قياسية OpenFileDialogصندوق حوار حيث يمكنك فتح ملف للقراءة. عند ملف wave هو محددة، فإنه هو اللعب باستخدام **PlaySound()**الأسلوب للأسلوب winmm.DLL تجميع. لمزيد من المعلومات حول الشركة winmm.dll PlaySoundأسلوب، راجع باستخدام دالة PlaySound مع "ملفات" صوت Waveform. استعراض وتحديد ملف بملحق.wav، ومن ثم انقر فوق فتح إلى تشغيل استدعاء الملف الموجه باستخدام النظام الأساسي. صندوق نص إظهار مسار الكامل ملف المحدد.

صندوق الحوار الملفات المفتوحة هو تصفيته لإظهار فقط الملفات التي لها ملحق.wav من خلال إعدادات عامل تصفية:

dialog1.Filter = "Wav Files (*.wav)|*.wav";
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WinSound
{
    public partial class Form1 : Form
    {
        private TextBox textBox1;
        private Button button1;

        public Form1()  //constructor
        {
            InitializeComponent();
        }

        [System.Runtime.InteropServices.DllImport("winmm.DLL", EntryPoint = "PlaySound", SetLastError = true, CharSet = CharSet.Unicode, ThrowOnUnmappableChar = true)]
        private static extern bool PlaySound(string szSound, System.IntPtr hMod, PlaySoundFlags flags);

        [System.Flags] 
        public enum PlaySoundFlags : int
        {
            SND_SYNC = 0x0000,
            SND_ASYNC = 0x0001, 
            SND_NODEFAULT = 0x0002, 
            SND_LOOP = 0x0008, 
            SND_NOSTOP = 0x0010,
            SND_NOWAIT = 0x00002000, 
            SND_FILENAME = 0x00020000, 
            SND_RESOURCE = 0x00040004 
        }

        private void button1_Click (object sender, System.EventArgs e)
        {
            OpenFileDialog dialog1 = new OpenFileDialog(); 

            dialog1.Title = "Browse to find sound file to play";
            dialog1.InitialDirectory = @"c:\";
            dialog1.Filter = "Wav Files (*.wav)|*.wav";
            dialog1.FilterIndex = 2;
            dialog1.RestoreDirectory = true;

            if(dialog1.ShowDialog() == DialogResult.OK) 
            { 
                textBox1.Text = dialog1.FileName;
                PlaySound (dialog1.FileName, new System.IntPtr(), PlaySoundFlags.SND_SYNC);
            } 
        }
    }
}

التحويل البرمجي للتعليمات البرمجية

ترجمة تعليمات برمجية

  1. قم بإنشاء مشروع جديد لتطبيق Windows C# في ‏‫Visual Studio و تسمية WinSound.

  2. قم بنسخ التعليمة البرمجية أعلاه، ثم قم بلصقه على المحتويات Form1.csملف.

  3. قم بنسخ التعليمة البرمجية التالية، و لصقه في Form1.Designer.csالملف، وفي InitializeComponent()الطريقة، بعد تعليمات برمجية موجود.

    this.button1 = new System.Windows.Forms.Button();
    this.textBox1 = new System.Windows.Forms.TextBox();
    this.SuspendLayout();
    // 
    // button1
    // 
    this.button1.Location = new System.Drawing.Point(192, 40);
    this.button1.Name = "button1";
    this.button1.Size = new System.Drawing.Size(88, 24);
    this.button1.TabIndex = 0;
    this.button1.Text = "Browse";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    // 
    // textBox1
    // 
    this.textBox1.Location = new System.Drawing.Point(8, 40);
    this.textBox1.Name = "textBox1";
    this.textBox1.Size = new System.Drawing.Size(168, 20);
    this.textBox1.TabIndex = 1;
    this.textBox1.Text = "FIle path";
    // 
    // Form1
    // 
    this.AutoScaleDimensions = new System.Drawing.SizeF(5, 13);
    this.ClientSize = new System.Drawing.Size(292, 266);
    this.Controls.Add(this.textBox1);
    this.Controls.Add(this.button1);
    this.Name = "Form1";
    this.Text = "Platform Invoke WinSound C#";
    this.ResumeLayout(false);
    this.PerformLayout();
    
  4. ترجمة و تشغيل تعليمات برمجية.

أمان

للحصول على معلومات أكثر، راجع ‎.NET Framework Security.

راجع أيضًا:

المرجع

نظرة عامة حول إمكانية التشغيل التفاعلي (دليل البرمجة لـ #C)

المبادئ

دليل البرمجة لـ #C

موارد أخرى

استدعاء تنظيم البيانات مع النظام الأساسي