跟你直说吧,我在数据库中有张表,里面有个字段存的歌曲的链接地址(同一时间就一个地址),并且这个链接地址随时可以改变(也可以没有),现在想用mediaplayer控件播放这个歌曲,并且当链接变的时候mediaplayer控件立刻播放,请问怎么实现,我实在弄不出来了.谢谢你了

解决方案 »

  1.   

    如果没变的话,直接设置windows media player的url属性即可
      

  2.   

    sample code as follows:yourMedia.URL= yourMediaLink;// you can set current media player setting as auto-play
    yourMedia.settings.autoStart = true;
      

  3.   

    加哪里啊,form_load里吗,数据库里那个字段是随时可以变化的
      

  4.   

    // you can set current media player setting as auto-play
    yourMedia.settings.autoStart = true;
    这句可以加在form_load里没问题。但是你需要动态去读数据库中的内容,来修改当前yourMedia.URL。
    你可以用线程或者Timer去读数据库,然后发现变化后,就修改yourMedia.URL属性。
      

  5.   

    我试试,不过load里面不是只在窗体载入是执行吗,这样不就执行一次啊,那么URL变了以后播放歌曲也会变吗?
      

  6.   

    to 那么URL变了以后播放歌曲也会变吗?那当然,要不然为什么提供这个属性呢
      

  7.   

    我把代码给你看
    public static string url;private void MainForm_Load(object sender, System.EventArgs e)
    {
    this.axWindowsMediaPlayer1.URL = url;
    this.axWindowsMediaPlayer1.settings.autoStart = true;
    }
    private void tmGetmusic_Tick(object sender, System.EventArgs e)
    {
    SqlConnection conn = DbCon.CreatCon();
    conn.Open();
    SqlCommand getmusic = new SqlCommand("select Listen from Users where Uid='"+Form1.senduserid+"'",conn);
    string str = Convert.ToString(getmusic.ExecuteScalar());
    url = str;
    conn.Close();
    }
      

  8.   

    Knight94(愚翁)大哥一定要帮我啊
      

  9.   

    不仔细看我写,该打ppprivate void tmGetmusic_Tick(object sender, System.EventArgs e)
    {
    SqlConnection conn = DbCon.CreatCon();
    conn.Open();
    SqlCommand getmusic = new SqlCommand("select Listen from Users where Uid='"+Form1.senduserid+"'",conn);
    string str = Convert.ToString(getmusic.ExecuteScalar());
    url = str;
    conn.Close();if( this.axWindowsMediaPlayer1.URL != url )//Check whether two URLs are same
        this.axWindowsMediaPlayer1.URL = url;}