none
C# KTV點歌系統問題 RRS feed

  • 問題

  • 請問各位一下 

    我在FORM1加入MEDIA PLATER

    然後我有寫一個加入歌曲的LISTBOX

    我想利用加入後的選單雙擊可以播放歌曲

    該怎麼設定阿? 

    程式碼該怎麼打... 麻煩各位一下幫小弟解個答 謝謝!

    2012年6月1日 下午 04:11

解答

所有回覆

  • [點部落搜尋 Media Player]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年6月1日 下午 04:32
    版主
  • 你有看過線上手冊:

    MediaPlayer.Open 方法

    的說明嗎?


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年6月1日 下午 04:36
  • 我是有寫好一個專案KTV點歌系統 

    設定BUTTON加入項目到LISTBOX

    所以我意思是想在加入到LISTBOX後的歌曲點擊後

    能利用我加入的WINDOWS MEDIA PLAYER播放歌曲

    2012年6月1日 下午 05:22
  • 上面的給的點部落連結文章中, 就有人寫這類的文章了, 答案是可以的. 你應該先翻翻那些文章, 然後試著做做看, 如果還有問題, 再繼續發問.

    另一個搜尋結果


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


    2012年6月1日 下午 05:30
    版主
  • 請設定Media Player的URL即可, 請參考:Using Windows Media Player with .NET
    2012年6月2日 上午 03:17
  • using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace KTV
    {
        public partial class frmListBox : Form
        {
            public frmListBox()
            {
                InitializeComponent();
            }

            private void btnAdd_Click(object sender, EventArgs e)
            {
                if (txtSong.Text != "")
                {
                    //lstsong以ITEMS物件來管理所有在LISTBOX的元素
                    //ITEMS的ADD方法可以把輸入歌曲加入清單

                    lstSong.Items.Add(txtSong.Text);
                    //加入清單方塊後,把文字方塊清除
                    txtSong.Text = "";
                    //把輸入焦點移回文字方塊,方便使用者繼續輸入
                    txtSong.Focus();
                    //以lstsong.items之count屬性對lblcount做更新
                    lblCounter.Text =
                        lstSong.Items.Count.ToString();
                    //現在所有歌曲在清單方塊了,把{清除所有歌曲}致能
                    btnClear.Enabled = true;
                } //end if
            }

            private void btnClear_Click(object sender, EventArgs e)
            {
                //以lstsong.items之clear方式把清單方塊中所有的元素清空
                lstSong.Items.Clear();
                //清單方塊已經空白,沒有必要再{刪除},把{刪除}相關按鈕除能
                btnClear.Enabled = false;
                btnRemove.Enabled = false;
                lblCounter.Text = lstSong.Items.Count.ToString();
                //把輸入焦點重放回文字方塊
                txtSong.Focus();
            }

            private void btnRemove_Click(object sender, EventArgs e)
            {
                //當selectedindex=-1表示清單中沒有元素被選取
                //selectedindex <>-1代表被選取的元素指標
                if (lstSong.SelectedIndex != -1)
                {
                    lstSong.Items.RemoveAt(lstSong.SelectedIndex);
                }//end if
                //如果所有的元素都被移除了,把{清除全部歌曲}除能
                if (lstSong.Items.Count == 0)
                {
                    btnClear.Enabled = false;
                }//end if
                lblCounter.Text = lstSong.Items.Count.ToString();
                btnRemove.Enabled = false;
            }

            private void txtSong_TextChanged(object sender, EventArgs e)
            {
                //表使用者正在輸入某歌曲,以txtsong.text之length屬性檢查
                //此用者是否真的輸入了文字,如果是把{加入一首歌}致能
                if (txtSong.Text.Length > 0)
                    btnAdd.Enabled = true;
                else

                    btnAdd.Enabled = false;
                if (btnAdd.Enabled)
                { 
                  // 把{加入一首歌}當作{接受}按鈕,使用者按下{ENTER}鑑
                  //即等於按下{加入一首歌曲}按鈕
                    this.AcceptButton = btnAdd;
                }//end if
            }

            private void lstSong_SelectedIndexChanged(object sender, EventArgs e)
            {
                //selectedindex代表清單方塊被選取的元素之指標
                //當她有變化時,表示使用者以滑鼠選取了某個元素,
                //將{刪除歌曲}按鈕致能
                btnRemove.Enabled = true;
                btnClear.Enabled = true;
                this.AcceptButton = btnRemove;
            }



            private void btnExit_Click(object sender, EventArgs e)
            {
                this.Close();
            }

            private void button1_Click(object sender, EventArgs e)
            {
                label1.BackColor = Color.FromArgb(255,0, 0);
            }

            private void button2_Click(object sender, EventArgs e)
            {
                label1.ForeColor=Color.White;
            }

            private void frmListBox_Load(object sender, EventArgs e)
            {
                axWindowsMediaPlayer1.URL = @"c:\writing\wmp .net\sample\sample.avi";
            }

            private void lstSong_Click(object sender, EventArgs e)
            {
                //按下{刪除所有選擇歌曲}按鈕!
                btnRemove_Click(this, new System.EventArgs());

            }

            private void txtSong_Click(object sender, EventArgs e)
            {
                //按下{加入一首歌}按鈕!
                btnAdd_Click(this, new System.EventArgs());

            }


        }
    }

    我的程式碼內容是這樣 但是我只要在listbox點擊加入的項目就會刪除選單

    我想請問如何設定加入到listbox後點擊加入項目就能播放歌曲

    我有看部落客連結 還是不太懂  新手 對c#不是很了解 麻煩各位! 

                    
    2012年6月3日 上午 04:14
  • (1) 你的資料似乎是沒有包含歌曲的路徑, 有了歌名, 總也要讓系統知道那首歌的檔案是在哪吧 ?

    (2) 如果你要在其它的地方呼叫 Button的Click事件 , 不要用你的這樣的寫法, 應該要用 [Button.PerformClick 方法 ] 取代

    (3) 我建議你先重開一個新專案,  練習一下  [C#][VB.NET]使用AxMediaPlayer撥放多媒體   這篇文中的實做. 花點時間想一下 AxMediaPlayer 是如何運作的, 然後你的問題就自然解開了.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年6月3日 上午 05:03
    版主
  • 錯誤 1 'AxMediaPlayer.AxMediaPlayer' 不包含 'Value' 的定義,也找不到擴充方法 'Value' 來接受型別 'AxMediaPlayer.AxMediaPlayer' 的第一個引數 (您是否遺漏 using 指示詞或組件參考?) C:\Documents and Settings\Administrator\Local Settings\Application Data\Temporary Projects\MEDIA\Form1.cs 52 70 MEDIA

    請問這邊該怎麼處理?

    2012年6月3日 上午 06:56
  • 我有練一下你說的專案ˋ

    但是我還是不太能理解 在lstSong加入歌曲後怎麼讓他利用MEDIA 播放

    不好意思 對程式基礎不好

    2012年6月3日 上午 07:09
  • 錯誤 1 'AxMediaPlayer.AxMediaPlayer' 不包含 'Value' 的定義,也找不到擴充方法 'Value' 來接受型別 'AxMediaPlayer.AxMediaPlayer' 的第一個引數 (您是否遺漏 using 指示詞或組件參考?) C:\Documents and Settings\Administrator\Local Settings\Application Data\Temporary Projects\MEDIA\Form1.cs 52 70 MEDIA

    請問這邊該怎麼處理?

    這一行的程式你是怎麼寫的?

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年6月3日 上午 07:27
    版主
  • 我找不到控制項 所以直接用打的!

    對了我把  if (openFileDialog1.ShowDialog() == DialogResult.OK) { } 加入到如下


                

     private void lstSong_SelectedIndexChanged(object sender, EventArgs e)
            {
                //selectedindex代表清單方塊被選取的元素之指標
                //當她有變化時,表示使用者以滑鼠選取了某個元素,
                //將{刪除歌曲}按鈕致能
                btnRemove.Enabled = true;
                btnClear.Enabled = true;
                this.AcceptButton = btnRemove;
                if (openFileDialog1.ShowDialog() == DialogResult.OK) { }

            }

     可以選取歌曲但是卻出現

    錯誤 HRESULT E_FAIL 已經從呼叫傳回至 COM 元件。


    2012年6月3日 上午 07:36
  • 請問如何增加可開啟的音樂格式!
    2012年6月3日 上午 08:58
  • 请问如何将ListBox中的文件加入AxWindowsMediaPlayer的播放列表???

    http://social.microsoft.com/Forums/zh-CN/vbasiczhchs/thread/fb04d284-d167-4b4b-a610-dd87e1580592

    FileDialog.Filter 屬性

    http://msdn.microsoft.com/zh-tw/library/system.windows.forms.filedialog.filter%28VS.80%29.aspx

    哪個控制項找不到?Larry大的網址可下載專案吧...

    2012年6月3日 上午 11:41
  • 如果是市面上包廂式的KTV或MTV

    他們恐怕都不是用 WindowsMediaPlayer 去撥放的
    因為點撥的選單雖然是透過電腦去操作但實際的撥放系統卻是走電視訊號

    或許你可以用
    WindowsMediaPlayer 去模擬出類似的環境但是卻離市面上在用的系統差很遠
    更何況
    WindowsMediaPlayer還要配合媒體串流Server去使用(例如Microsoft Media Server)
    若只用File Server以分享資料夾去放影音檔
    恐怕每一個User都會Lag

    更何況
    如果你還要做到KTV的音控(升降key,或去人聲)
    恐怕得由 DirectShow 去下手


    player

    2012年6月11日 上午 09:22
  • 送到電視太簡單了,LCD/LED 電視全部支援 VGA 或是 HDMI ,不支援的也可以用視訊轉換盒轉成 AV 端子或 S 端子。

    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年6月11日 下午 02:37