本文介绍了线程无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

//CLASS:BackGroundMusicGP

// CLASS: BackGroundMusicGP

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;

namespace BackGroundMusicGP
{
    class BkGrndMusic
    {
      private string _command;
     private bool isOpen;
  [DllImport("winmm.dll")]

  private static extern long mciSendString(string strCommand,StringBuilder strReturn,int iReturnLength, IntPtr hwndCallback);

  public void Close()
  {
     _command = "close MediaFile";
     mciSendString(_command, null, 0, IntPtr.Zero);
     isOpen = false;
  }

  public void Open(string sFileName)
  {
     _command = "open \"" + sFileName + "\" type mpegvideo alias MediaFile";
     mciSendString(_command, null, 0, IntPtr.Zero);
     isOpen = true;
  }

  public void Play(bool loop)
  {
     if(isOpen)
     {
        _command = "play MediaFile";
        if (loop)
         _command += " REPEAT";
        mciSendString(_command, null, 0, IntPtr.Zero);
     }
      }
  public void playMusic()
  {
      string path = "E:\\abc\\Habib.mp3";
       string filename = Path.GetFileName(path);
      Open(filename);
      Play(false);
  }
    }
}


////////////////////////


///////////////////////////

public partial class Form1 : Form
   {
       BkGrndMusic objBkMusic;
       int i = 0;
       public Form1()
       {
           InitializeComponent();
           objBkMusic = new BkGrndMusic();
       }
       private void button1_Click(object sender, EventArgs e)
        {
           Thread t = new Thread(new ThreadStart(objBkMusic.playMusic));
            t.Start();  // it doesn't work
           //objBkMusic.playMusic(); // it works
         }



如何使用线程播放背景音乐?当我直接使用类的对象进行调用时,它将起作用.但是,当我使用线程调用时,它不起作用.



How can i play background music using thread? when i call directly using object of the class then it works. But when i call using thread it doesn''t work.

推荐答案



这篇关于线程无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 05:54
查看更多