mp3源码
⑴ 易语言怎么让源码一打开就播放歌曲
在易语言编程中,如果你想让一个应用程序启动时自动播放音乐,可以在启动窗口命令中添加相应的代码。例如,你可以使用以下代码来实现播放歌曲的功能:
播放mp3(“C:\路径\到\你的\mp3文件.mp3”,1)
这里的路径是指你的mp3文件所在的文件路径,1表示循环播放一次。当然,你可以根据需要调整循环次数或指定具体的文件路径。
如果你希望音乐在应用程序启动的同时开始播放,确保你的代码逻辑能够正确执行。通常,这需要你将上述代码放置在启动窗口的适当位置。
值得注意的是,不同版本的易语言可能在细节上有所差异,因此建议参考易语言的官方文档或示例代码来确保最佳的兼容性和效果。
此外,为了提高用户体验,你还可以考虑添加一些提示信息或等待音乐开始播放后再继续执行其他操作。例如,你可以使用易语言中的等待语句来确保音乐播放完成后才继续执行后续代码。
总之,通过在启动窗口命令中添加适当的代码,你可以轻松实现应用程序启动时自动播放音乐的功能。这不仅能够提升用户体验,还能让应用程序更加生动有趣。
在实际应用中,你还可以根据需要调整音乐的音量、播放模式等参数,以满足不同的需求和场景。例如,你可以设置播放模式为单曲循环或列表循环,或者调整音量大小以适应不同的环境。
如果你需要播放多首歌曲,可以将上述代码重复使用,为每首歌曲指定相应的路径和循环次数。这样,你的应用程序就能在启动时依次播放多首歌曲,为用户带来更加丰富的听觉体验。
需要注意的是,在选择音乐文件路径时,请确保文件路径正确无误,否则可能导致音乐无法正常播放。此外,考虑到版权问题,请确保使用的音乐文件符合相关法律法规的要求。
总之,通过在启动窗口中编写适当的代码,你可以轻松实现应用程序启动时自动播放音乐的功能,从而提升用户体验和应用程序的整体表现。
⑵ 为什么在网页按F12可以看见MP3的url在检查网页源代码看不见
因为这个MP3是动态的内容
网页源码是静态的,你点击网页上的按钮(比如播放键)会让网页内容发生变化(很多视频网站都有这个优化,只有你点击播放时才从服务器请求视频地址,才播放出来;单打开网页只有一个视频的预览图,所以不点击播放的时候这个视频并不存在)
⑶ 谁给我个易语言MP3播放器源码啊 要进度条和显示歌词和列表
.版本 2
.支持库 edroptarget
.支持库 eMMedia
.程序集 窗口程序集_启动窗口
.程序集变量 文件, 文本型
.程序集变量 类型, 整数型
.子程序 _播放按钮_被单击
播放MP3 (-1, 列表框1.取项目文本 (列表框1.现行选中项))
同步播放MP3 (列表框1.取项目文本 (列表框1.现行选中项), 0, 标签1, )
文件 = 列表框1.取项目文本 (列表框1.现行选中项)
类型 = _专辑图片_文件名取专辑图片类型 (文件)
_专辑图片_文件名取专辑图片_到图片框 (文件, 图片框1, 类型)
.子程序 _按钮1_被单击
通用对话框1.打开 ()
列表框1.加入项目 (通用对话框1.文件名, )
' ------------------------------------------------------------------------------------
' 打开对话框,然后在列表框中加入对话框中选择的文件
.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
进度条1.位置 = 参数一
' ------------------------------------------------------------------------------------------------------
' 参数一是MP3的播放进度,进度条的位置将实时同步参数一
' :)
.子程序 _暂停按钮_被单击
暂停播放MP3 ()
.子程序 _继续按钮_被单击
继续播放MP3 ()
.子程序 _时钟1_周期事件
.如果真 (取MP3播放状态 () = 0)
_启动窗口.标题 = “等待播放”
.如果真结束
.如果真 (取MP3播放状态 () = -1)
_启动窗口.标题 = “暂停” + “ ” + 到文本 (进度条1.位置) + “%”
.如果真结束
.如果真 (取MP3播放状态 () = 1)
_启动窗口.标题 = 到文本 (“播放中” + “ ” + 到文本 (进度条1.位置) + “%”)
.如果真结束
' ------------------------------------------------------------------------------------------------------------------------
' 每1毫秒都会检测上面“如果真”的代码,真的真将会执行代码
.子程序 __启动窗口_位置被改变
.如果真 (_启动窗口.位置 = 2)
_启动窗口.可视 = 假
置托盘图标 (#托盘, _启动窗口.标题)
.如果真结束
' -------------------------------------------------------------------------------------------------------------------------
' 如果窗口被最小化,将会看不到窗口,程序将会放到托盘里
.子程序 __启动窗口_托盘事件
.参数 操作类型, 整数型
.如果真 (操作类型 = #单击左键)
_启动窗口.位置 = 1
_启动窗口.可视 = 真
.如果真结束
.如果真 (操作类型 = #单击右键)
弹出托盘菜单 (托盘菜单)
.如果真结束
' -----------------------------------------------------------------------------------------------------------------
' 如果单击了左键,将会把窗口回复,可以看到窗口
' 如果单击了右键,将会弹出“托盘菜单”这个菜单
.子程序 _播放_被选择
播放MP3 (-1, 列表框1.取项目文本 (列表框1.现行选中项))
.子程序 _暂停_被选择
暂停播放MP3 ()
.子程序 _继续_被选择
继续播放MP3 ()
.子程序 _关闭_被选择
销毁 ()
.子程序 _恢复_被选择
_启动窗口.位置 = 2
_启动窗口.可视 = 真
.子程序 __启动窗口_创建完毕
.局部变量 左声道, 整数型
.局部变量 右声道, 整数型
拖放对象1.注册拖放控件 (取窗口句柄 ())
系统音量1.打开 (4)
滑块条1.最小位置 = 系统音量1.取最小音量 ()
滑块条1.最大位置 = 系统音量1.取最大音量 () ÷ 5
系统音量1.取音量 (左声道, 右声道)
滑块条1.位置 = 左声道 ÷ 5
' -------------------------------------------------------------------------------------------------------------------------
' 来自这里 https://jingyan..com/article/0320e2c1db0a181b86507b61.html
' 注册那个命令是让窗口可以把文件拖放进来
.子程序 _拖放对象1_得到文件
.参数 接收到的文件路径, 文本型
列表框1.加入项目 (接收到的文件路径, )
' -----------------------------------------------------------------------------------------------------------------------------
' 把拖进来的文件加入到列表框里
.子程序 _图片框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
载入 (窗口1, _启动窗口, 真)
.子程序 _滑块条1_位置被改变
系统音量1.置音量 (滑块条1.位置 × 5, 滑块条1.位置 × 5)
' -------------------------------------------------------------------------------------------------------------
' 来自这里 https://jingyan..com/article/0320e2c1db0a181b86507b61.html
⑷ 怎么用c语言打开一个MP3文件(直接给代码),需要什么软件进行输入
VC++中播放声音的方法
2009-09-23 14:58
声音是多媒体的一个重要组成部分,在应用程序中加入声音可以使界面更友好。在VC++中可以根据不同的应用要求,用不同的方法实现声音的播放。
一.播放声音文件的简单方法
在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中参数lpszSound是需要播放声音的.WAV文件的路径和文件名, hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VC++中的帮助。 例如播放C:soundmusic.wav可以用sndPlaySound ("c:\sound\music.wav",SND_ASYNC);或PlaySound("c:\sound\music.wav",NULL, SND_ASYNC|SND_NODEFAULT );如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。
二.将声音文件加入到程序中
在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.WAV文件的声音播放。
要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件(实现过程并不复杂,这里不在叙述)。假设生成的声音文件资源标识符为IDR_WAVE1。在播放时只需要调用下面的语句:
PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(), SND_ASYNC|SND_RESOURCE|SND_NODEFAULT|SND_LOOP);
其中MAKEINTRESOURCE()宏将整数资源标识符转变为字符串,AfxGetResourceHandle()函数返回包含资源的模块句柄,
SND_RESOURCE是必须的标志。
作为资源的声音文件的第二种播放方法是把资源读入内存后作为内存数据播放。具体步骤入下:
1.获得包含资源的模块句柄:
HMODULE hmod=AfxGetResourceHandle();
2.检索资源块信息:
HRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_WAVE1),_T("WAVE"));
3. 装载资源数据并加锁:
HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource);
LPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem);
4.播放声音文件:
sndPlaySound(lpMemSound,SND_MEMORY));
5.释放资源句柄:
FreeResource(hGlobalMem);
三.播放声音文件的高级方法
在VC++中提供了一组对音频设备及多媒体文件直接进行操作的函数。利用这些函数可以灵活地对声音文件进行各种处理。
首先介绍几个要用到的数据结构。WAVEFORMATEX结构定义了WAVE音频数据文件的格式。WAVEHDR结构定义了波形音频缓冲区。读出的数据首先要填充此缓冲区才能送音频设备播放。WAVEOUTCAPS结构描述了音频设备的性能。MMCKINFO结构包含了RIFF文件中一个块的信息。详细的说明请参考VC++中的帮助。
下面给出程序流程简图及程序源代码清单,在VC++环境下可直接使用:
源程序清单如下:
LPSTR szFileName;//声音文件名
MMCKINFO mmckinfoParent;
MMCKINFO mmckinfoSubChunk;
DWORD dwFmtSize;
HMMIO m_hmmio;//音频文件句柄
DWORD m_WaveLong;
HPSTR lpData;//音频数据
HANDLE m_hData;
HANDLE m_hFormat;
WAVEFORMATEX * lpFormat;
DWORD m_dwDataOffset;
DWORD m_dwDataSize;
WAVEHDR pWaveOutHdr;
WAVEOUTCAPS pwoc;
HWAVEOUT hWaveOut;
//打开波形文件
if(!(m_hmmio=mmioOpen(szFileName,NULL,MMIO_READ|MMIO_ALLOCBUF)))
{
//File open Error
Error("Failed to open the file.");//错误处理函数
return false;
}
//检查打开文件是否是声音文件
mmckinfoParent.fccType =mmioFOURCC('W','A','V','E');
if(mmioDescend(m_hmmio,(LPMMCKINFO)&mmckinfoParent,NULL,MMIO_FINDRIFF))
{
//NOT WAVE FILE AND QUIT
}
//寻找 'fmt' 块
mmckinfoSubChunk.ckid =mmioFOURCC('f','m','t',' ');
if(mmioDescend(m_hmmio,&mmckinfoSubChunk,&mmckinfoParent,MMIO_FINDCHUNK))
{
//Can't find 'fmt' chunk
}
//获得 'fmt '块的大小,申请内存
dwFmtSize=mmckinfoSubChunk.cksize ;
m_hFormat=LocalAlloc(LMEM_MOVEABLE,LOWORD(dwFmtSize));
if(!m_hFormat)
{
//failed alloc memory
}
lpFormat=(WAVEFORMATEX*)LocalLock(m_hFormat);
if(!lpFormat)
{
//failed to lock the memory
}
if((unsigned long)mmioRead(m_hmmio,(HPSTR)lpFormat,dwFmtSize)!=dwFmtSize)
{
//failed to read format chunk
}
//离开 fmt 块
mmioAscend(m_hmmio,&mmckinfoSubChunk,0);
//寻找 'data' 块
mmckinfoSubChunk.ckid=mmioFOURCC('d','a','t','a');
if(mmioDescend(m_hmmio,&mmckinfoSubChunk,&mmckinfoParent,MMIO_FINDCHUNK))
{
//Can't find 'data' chunk
}
//获得 'data'块的大小
m_dwDataSize=mmckinfoSubChunk.cksize ;
m_dwDataOffset =mmckinfoSubChunk.dwDataOffset ;
if(m_dwDataSize==0L)
{
//no data in the 'data' chunk
}
//为音频数据分配内存
lpData=new char[m_dwDataSize];
if(!lpData)
{
//faile
}
if(mmioSeek(m_hmmio,SoundOffset,SEEK_SET)<0)
{
//Failed to read the data chunk
}
m_WaveLong=mmioRead(m_hmmio,lpData,SoundLong);
if(m_WaveLong<0)
{
//Failed to read the data chunk
}
//检查音频设备,返回音频输出设备的性能
if(waveOutGetDeVCaps(WAVE_MAPPER,&pwoc,sizeof(WAVEOUTCAPS))!=0)
{
//Unable to allocate or lock memory
}
//检查音频输出设备是否能播放指定的音频文件
if(waveOutOpen(&hWaveOut,DevsNum,lpFormat,NULL,NULL,CALLBACK_NULL)!=0)
{
//Failed to OPEN the wave out devices
}
//准备待播放的数据
pWaveOutHdr.lpData =(HPSTR)lpData;
pWave
OutHdr.dwBufferLength =m_WaveLong;
pWaveOutHdr.dwFlags =0;
if(waveOutPrepareHeader(hWaveOut,&pWaveOutHdr,sizeof(WAVEHDR))!=0)
{
//Failed to prepare the wave data buffer
}
//播放音频数据文件
if(waveOutWrite(hWaveOut,&pWaveOutHdr,sizeof(WAVEHDR))!=0)
{
//Failed to write the wave data buffer
}
//关闭音频输出设备,释放内存
waveOutReset(hWaveOut);
waveOutClose(hWaveOut);
LocalUnlock(m_hFormat);
LocalFree(m_hFormat);
delete [] lpData;
说明:1)以上使用的音频设备和声音文件操作函数的声明包含在mmsystem.h头文件中,因此在程序中必须用#include "mmsystem.h"语句加入头文件。同时在编译时要加入动态连接导入库winmm.lib,具体实现方法是从Developer Studio的Project菜单中选择Settings,然后在Link选项卡上的Object/Library Moles控制中加入winmm.lib。2)在pWaveOutHdr.lpData中指定不同的数据,可以播放音频数据文件中任意指定位置的声音。3) 以上程序均在VC++6.0中调试通过,在文中省略了对错误及异常情况的处理,在实际应用中必须加入。
四.结论
在VC++中可以根据应用需要采用不同的方法播放声音文件。简单应用可以直接调用声音播放函数。第二种方法可以把声音作为资源加入可执行文件中。如果在播放之前要对声音数据进行处理,可用第三种方法。
参考书目:
1. 美 Paul Perry 陈向群 等译《多媒体开发指南》 清华大学出版社
2. 美 Peter Norton, Rob McGregor 孙凤英 等译《MFC开发Windows95/NT4应用程序》 清华大学出版社 1998
3. 周敬利 《多媒体声卡技术及应用》 电子工业出版社 1998