user-0 提问: 音乐播放器实现上一首，下一首，循环，单曲，列表，随机，单曲循环功能非常感谢

回复:
user: user-1
content: 引用 2 楼 qq_31540915 的回复:前面的变量已经给出，求尽快回复，非常感谢  你需要能控制一首歌的播放:开始,暂停(这个功能可以暂时别做),停止  所谓上一首,下一首:你将所有的歌曲都保存到一个列表中(vector list 都行).  当单击上一首的时候,先停止当前正在播放的.然后从列表中获取上一个变量,直接播放,下一首同理  -------  单曲:单曲的意思是这样的,当播放完一首之后,传递给同一首的路径给播放  列表:略  随机:获取列表中的歌曲数量,然后通过一个srand函数获取一个值n,从第一首歌开始在列表中往下走n步,获取该元素,播放 ------------------------- 大学时候就做过.祝你好运

user: user-2
content: 仅供参考：#include <stdio.h> #include <stdlib.h> #include <time.h> int d[6]; int i,n,a,b,t; int c,j; void main() {     srand(time(NULL));     printf("shuffle 0..n-1 demo\n");     for (n=1;n<=5;n++) {/* 测试1～5个元素 */         printf("_____n=%d_____\n",n);         j=1;         for (c=1;c<=n;c++) j=j*c;/* j为n! */         j*=n*2;         for (c=1;c<=j;c++) {/* 测试n*2*n!次 */             for (i=0;i<n;i++) d[i]=i;/* 填写0～n-1 */             for (i=n;i>0;i--) {/* 打乱0～n-1 */                 a=i-1;b=rand()%i;                 if (a!=b) {t=d[a];d[a]=d[b];d[b]=t;}             }             printf("%04d:",c);             for (i=0;i<n;i++) printf("%d",d[i]);             printf("\n");         }     }     printf("shuffle 1..n demo\n");     for (n=1;n<=5;n++) {/* 测试1～5个元素 */         printf("_____n=%d_____\n",n);         j=1;         for (c=1;c<=n;c++) j=j*c;/* j为n! */         j*=n*2;         for (c=1;c<=j;c++) {/* 测试n*2*n!次 */             for (i=1;i<=n;i++) d[i]=i;/* 填写1～n */             for (i=n;i>1;i--) {/* 打乱1～n */                 a=i;b=rand()%i+1;                 if (a!=b) {t=d[a];d[a]=d[b];d[b]=t;}             }             printf("%04d:",c);             for (i=1;i<=n;i++) printf("%d",d[i]);             printf("\n");         }     } }

user: user-0
content: 前面的变量已经给出，求尽快回复，非常感谢

user: user-0
content: // PC05Dlg.cpp : 实现文件 //  #include "stdafx.h" #include "PC05.h" #include "PC05Dlg.h" #include "afxdialogex.h"  #ifdef _DEBUG #define new DEBUG_NEW #endif   // 用于应用程序“关于”菜单项的 CAboutDlg 对话框  class CAboutDlg : public CDialogEx { public: 	CAboutDlg();  // 对话框数据 	enum { IDD = IDD_ABOUTBOX };  	protected: 	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持  // 实现 protected: 	DECLARE_MESSAGE_MAP() };  CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { }  void CAboutDlg::DoDataExchange(CDataExchange* pDX) { 	CDialogEx::DoDataExchange(pDX); }  BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP()   // CPC05Dlg 对话框     CPC05Dlg::CPC05Dlg(CWnd* pParent /*=NULL*/) 	: CDialogEx(CPC05Dlg::IDD, pParent) 	, m_playListStr(_T("")) 	, str4(_T("")) 	, m_index(-1) 	, zflag(0) { 	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 	s=-1; 	m_id=NULL; 	m_isOpen=false;//打开 	m_isPlay=false;//播放 	length=L"00:00"; 	current=L"00:00"; 	h=0; 	len=0;//长度 	cur=0; 	volume=700; 	m_playListStr=_T(" ");//歌曲列表 	m_songIndex=-1;//当前歌曲位置 	zflag=0; }  void CPC05Dlg::DoDataExchange(CDataExchange* pDX) { 	CDialogEx::DoDataExchange(pDX); 	DDX_Control(pDX, IDC_VOLUME, m_volume); 	DDX_Control(pDX, IDC_LIST, m_playList); 	DDX_LBString(pDX, IDC_LIST, m_playListStr); }  BEGIN_MESSAGE_MAP(CPC05Dlg, CDialogEx) 	ON_WM_SYSCOMMAND() 	ON_WM_PAINT() 	ON_WM_QUERYDRAGICON() 	ON_BN_CLICKED(IDC_OPEN, &CPC05Dlg::OnClickedOpen) 	ON_BN_CLICKED(IDC_PLAY, &CPC05Dlg::OnClickedPlay) 	ON_BN_CLICKED(IDC_STOP, &CPC05Dlg::OnClickedStop) 	ON_BN_CLICKED(IDC_BEFORE, &CPC05Dlg::GoPrevious) 	ON_BN_CLICKED(IDC_NEXT, &CPC05Dlg::GoNext) 	ON_WM_TIMER()  	ON_WM_HSCROLL() //ON_BN_CLICKED(IDC_ADD_DLG, &CPC05Dlg::OnBnClickedAddDlg) ON_LBN_SELCHANGE(IDC_LIST, &CPC05Dlg::OnSelchangeList) ON_BN_CLICKED(IDC_FOLDER, &CPC05Dlg::OnClickedFolder) ON_LBN_DBLCLK(IDC_LIST, &CPC05Dlg::OnDblclkList) ON_BN_CLICKED(IDC_QIAN, &CPC05Dlg::OnBnClickedNext) ON_BN_CLICKED(IDC_HOU, &CPC05Dlg::OnBnClickedBefore) ON_BN_CLICKED(IDC_DELETE, &CPC05Dlg::OnBnClickedDelete) ON_BN_CLICKED(IDC_CLEAR, &CPC05Dlg::OnBnClickedClear) END_MESSAGE_MAP()