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