簡體   English   中英

我無法從C#中的List變量播放所有的mp3

[英]I can't play all of mp3 from List variable in C#

我想播放List變量中的所有mp3,但它只播放最后一個mp3文件。

這是我的代碼

private void button2_Click(object sender, EventArgs e)
{
    List<String> voiceEN = new List<string>();
    WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer();

    voiceEN = NumberToWordEN(4515);


    foreach (string i in voiceEN)
    {
        wplayer.URL = "voicesEN\\" + i + ".mp3";
        wplayer.controls.play();

        Console.WriteLine("voicesEN\\" + i + ".mp3");
    }
}

當我運行此代碼時,它在輸出中顯示為

voicesTH\five.mp3
voicesTH\thousand.mp3
voicesTH\five.mp3
voicesTH\ten.mp3
voicesTH\1sp.mp3

但它只能播放1sp.mp3。 如何播放所有這些mp3。

在我看來,就像您一直在告訴它播放新曲目一樣,因此每個新曲目都將替換前一個曲目,而最后一個曲目將一直播放。

不知道如何使用您正在使用的庫,但是我想您需要執行以下一項操作:

  • 使用庫的播放列表功能
  • 或播放單個文件並訂閱某種“完成播放事件”,在該事件中,當上一個曲目結束時,您將開始播放下一個曲目。

就像@Svish和@Sybren所說的,在播放完成后注冊事件:

如果您使用的是WindowsMediaPlayer庫,請使用PlayStateChange事件並檢查WMPLib.WMPPlayState.wmppsStopped

謝謝 。 現在,我可以通過將所有mp3添加到播放列表中來播放列表中的所有mp3。 WMPLib.IWMPPlaylist wplayerList;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM