Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AxWMPLib.AxWindowsMediaPlayer歌曲结束后自动播放_C#_Axwindowsmediaplayer - Fatal编程技术网

C# AxWMPLib.AxWindowsMediaPlayer歌曲结束后自动播放

C# AxWMPLib.AxWindowsMediaPlayer歌曲结束后自动播放,c#,axwindowsmediaplayer,C#,Axwindowsmediaplayer,我尝试制作简单的音频播放器, 然后我试试看。 歌曲结束后,演奏者停了下来 我想自动设置并在播放列表中选择随机化。 我使用URL和列表框作为播放列表 这是自动播放部分的代码片段: private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e) { if (e.newState == 8)

我尝试制作简单的音频播放器, 然后我试试看。 歌曲结束后,演奏者停了下来

我想自动设置并在播放列表中选择随机化。 我使用URL和列表框作为播放列表

这是自动播放部分的代码片段:

private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
        {
            if (e.newState == 8)
            {
                Random rnd = new Random();
                int nowPlayIndex = rnd.Next(listURLPlayers.Count);
                axWindowsMediaPlayer1.URL = listURLPlayers[nowPlayIndex];
                axWindowsMediaPlayer1.Ctlenabled = true;
                axWindowsMediaPlayer1.Ctlcontrols.play();
                listAudio.SelectedIndex = nowPlayIndex;
            }
        }
但是我尝试了一下,然后URL改变了,但是没有自动播放

我的代码有什么问题

https://github.com/mudzakkir/MP3Player.git
请帮忙。

好的,它正在工作。。 我应该用定时器。。 我的代码现在是这样的:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Mp3Player
{
    public partial class MediaPlayer : Form
    {
        string HomeDir;
        string[] sPlaylists, sURLs;
        List<string> listURLPlayers = new List<string>();
        public MediaPlayer()
        {
            InitializeComponent();
            HomeDir = Directory.GetCurrentDirectory();
            string[] playlist = File.ReadAllLines("playlist.txt");
            foreach (string fileText in playlist)
            {
                listAudio.Items.Add(fileText);
            }
            string[] playlistUrl = File.ReadAllLines("playlistURL.txt");
            foreach (string fileText in playlistUrl)
            {
                listURLPlayers.Add(fileText);
            }
        }

        private void btnOpen_Click(object sender, EventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();
            if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                sPlaylists = openFileDialog1.SafeFileNames;
                sURLs = openFileDialog1.FileNames;
                for (int i = 0; i < sPlaylists.Length; i++)
                {
                    listAudio.Items.Add(sPlaylists[i]);
                }
                for (int i = 0; i < sURLs.Length; i++)
                {
                    listURLPlayers.Add(sURLs[i]);
                }
                System.IO.StreamWriter SaveFile = new System.IO.StreamWriter("playlist.txt");
                foreach (var item in listAudio.Items)
                {
                    SaveFile.WriteLine(item);
                }
                SaveFile.Close();
                SaveFile = new System.IO.StreamWriter("playlistURL.txt");
                foreach (var item in listURLPlayers)
                {
                    SaveFile.WriteLine(item);
                }
                SaveFile.Close();
            }
        }

        private void listAudio_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            axWindowsMediaPlayer1.URL = listURLPlayers[listAudio.SelectedIndex];
        }

        private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
        {
            if (e.newState == 8)
            {
                timer1.Enabled = true;
            }
        }

        private void listAudio_SelectedIndexChanged(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.URL = listURLPlayers[listAudio.SelectedIndex];
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            Random rnd = new Random();
            int nowPlayIndex = rnd.Next(listURLPlayers.Count);
            axWindowsMediaPlayer1.URL = listURLPlayers[nowPlayIndex];
            listAudio.SelectedIndex = nowPlayIndex;
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用系统组件模型;
使用系统数据;
使用系统图;
使用System.IO;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Windows.Forms;
命名空间Mp3Player
{
公共部分类MediaPlayer:窗体
{
字符串HomeDir;
字符串[]显示列表,sURLs;
List listURLPlayers=新列表();
公共媒体播放器()
{
初始化组件();
HomeDir=Directory.GetCurrentDirectory();
string[]playlist=File.ReadAllLines(“playlist.txt”);
foreach(播放列表中的字符串文件文本)
{
listAudio.Items.Add(fileText);
}
string[]playlayurl=File.ReadAllLines(“playlayurl.txt”);
foreach(播放列表URL中的字符串文件文本)
{
添加(文件文本);
}
}
私有void btnOpen_单击(对象发送方,事件参数e)
{
OpenFileDialog open=新建OpenFileDialog();
if(openFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK)
{
sPlaylists=openFileDialog1.SafeFileNames;
sURLs=openFileDialog1.FileNames;
对于(int i=0;i

谢谢你

你把你的定时器1变量/类型从哪里去存储?当然是内置的.designer文件