c语言播放mp3
Ⅰ c语言播放MP3 API函数是什么 怎么用
可以使用PlaySound()函数播放mp3音频,该函数原型位于windows.h。
PlaySound函数的声明为:
BOOL PlaySound(LPCSTR pszSound, HMODULE hwnd,DWORD fdwSound);
参数pszSound是指定了要播放声音的字符串。
参数hwnd是应用程序的实例句柄,除非pszSound的指向一个资源标识符(即fdwSound被定义为SND_RESOURCE),否则必须设置为NULL。
参数fdwSound是标志的组合,如下表所示。若成功则函数返回TRUE,否则返回FALSE。
使用PlaySound函数时需要在#include<windows.h>后面加上(注意:不能加在前面):例程:
CFileDialogdlg(TRUE,"mp3","*.mp3",OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,"mp3文件(*.mp3)|*.mp3|");
/*创建选择对话框,让用户从文件夹中选取一个MP3文件*/
intiRet=dlg.DoModal();//获得对话框返回值
if(IDOK==iRet)//如果返回值成功,表明成功获取一个MP3文件
{
CStringpathName=dlg.GetPathName();//得到文件的路径名称
PlaySound(pathName,NULL,SND_FILENAME|SND_ASYNC);//用playsound函数播放该文件
}
Ⅱ 自己用c语言写了个MP3播放器,请问怎么实现流媒体来播放音乐
用socket传输mp3文件到本地计算机内存中保存,然后用你的播放器播放,播放完毕从内存中删除
如果是视频,就分段传输,每一段转换成独立文件,然后计算时间连续播放
媒体文件网络播放其实都是先下载在播放的,这个一般保存到内存中,播放完毕就清除,也就是所谓的缓存了
Ⅲ 怎样用标准C语言播放音乐
用C语言播放音乐,一般需要额外的库或者调用系统的API函数。
以Windows为例,可以通过PlaySound函数播放wav格式的音乐。示例如下:
#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragmacomment(lib,"WINMM.LIB")
intmain()
{
PlaySound(TEXT("1.wav"),0,SND_FILENAME);//1.wav是要播放的音乐文件
return0;
}
如果想播放mp3音乐可以使用如下代码。
注意:生成程序后,请在cmd中执行此程序,不要在vc/vs的IDE中运行。
#include<windows.h>
#include<mmsystem.h>
#include<stdio.h>
#pragmacomment(lib,"Winmm.lib")
intmain(intargc,char*argv[])
{
//绝对地址形式
TCHARfileName[]="ganlusi.mp3";
TCHARshortName[MAX_PATH];
GetShortPathName(fileName,shortName,sizeof(shortName)/sizeof(TCHAR));
TCHARcmd[MAX_PATH+10];
wsprintf(cmd,"play%s",shortName);
mciSendString(cmd,NULL,0,NULL);
Sleep(5*60*1000);//这里是防止一播放就结束做的延迟
return0;
}
Ⅳ c语言中如何播放mp3数据帧
可以使用PlaySound()函数播放mp3声音,该函数原型位于windows.h中,
函数原型为:
BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);
参数pszSound是指定了要播放声音的字符串,该参数可以是MP3文件的名字,或是MP3资源的名字,或是内存中声音数据的指针,或是在系统注册表WIN.INI中定义的系统事件声音。如果该参数为NULL则停止正在播放的声音。
参数hmod是应用程序的实例句柄,当播放MP3资源时要用到该参数,否则它必须为NULL。
参数fdwSound是标志的组合,各种可选的标志及意义如下所示。若成功则函数返回TRUE,否则返回FALSE。
播放标志以及含义:
SND_APPLICATION
用应用程序指定的关联来播放声音。
SND_ALIAS
pszSound参数指定了注册表或WIN.INI中的系统事件的别名。
SND_ALIAS_ID
pszSound参数指定了预定义的声音标识符。
SND_ASYNC
用异步方式播放声音,PlaySound函数在开始播放后立即返回。
SND_FILENAME
pszSound参数指定了MP3文件名。
SND_LOOP
重复播放声音,必须与SND_ASYNC标志一块使用。
SND_MEMORY
播放载入到内存中的声音,此时pszSound是指向声音数据的指针。
SND_NODEFAULT
不播放缺省声音,若无此标志,则PlaySound在没找到声音时会播放缺省声音。
SND_NOSTOP
PlaySound不打断原来的声音播出并立即返回FALSE。
SND_NOWAIT
如果驱动程序正忙则函数就不播放声音并立即返回。
SND_PURGE
停止所有与调用任务有关的声音。若参数pszSound为NULL,就停止所有的声音,否则,停止pszSound指定的声音。
SND_RESOURCE
pszSound参数是WAVE资源的标识符,这时要用到hmod参数。
SND_SYNC
同步播放声音,在播放完后PlaySound函数才返回。
************************************************************
例如我想播放在C:\WINDOWS\Media目录中的 Windows XP 启动.MP3文件
程序如下:
#include <windows.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
PlaySound("C:\\WINDOWS\\Media\\Windows XP 启动.MP3", NULL, SND_FILENAME | SND_ASYNC);
system("pause");
return 0;
}
*/:)))))))))))))))))))))))))))))))
Ⅳ 如何用C语言播放指定目录下的MP3文件格式的音乐,要代码实现,可以是简单的代码,但必须要能够实现哈。
#include <stdio.h>
#include <windows.h>
#pragma comment(lib, "winmm.lib")
int main()
{
mciSendString("open \"C:\\我们的爱.mp3\" alias file", NULL, 0, NULL);
mciSendString("play file", NULL, 0, NULL);
return 0;
}
/*
不是我写得 在网上找的...这个程序 主要就是call mciSendString函数, 好像没什么参考意义, 因为如何解码是别人写好的... 你想写解码mp3的函数 不可能用简单代码的
*/
Ⅵ C语言中PlaySound函数如何播放MP3文件
可以使用PlaySound()函数播放声音文件,
该函数原型位于#include <mmsystem.h>中,
因此要使用PlaySound,首先需要添加对这个头文件的引用。
提示:mm就是MultiMedia的简写,多媒体
【1、函数使用说明】
函数原型为: BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);
返回值表示是否播放成功。
参数pszSound是要播放声音的文件名,
只支持WAV等格式的文件(应该不能播放MP3格式文件);
你可以去mp3..com用“wav”为关键词可以搜到很多wav音乐,
也可以用工具将其他格式的转换为wav格式的。
参数hmod是应用程序的实例句柄,一般传递NULL就可以;
参数fdwSound是标志的组合掩码,
可选值有SND_FILENAME、SND_ASYNC、SND_SYNC等。
SND_FILENAME表示pszSound参数指定的是文件名(pszSound还可以指定资源、内存音乐、系统音乐等等);
SND_ASYNC:用异步方式播放声音,PlaySound函数在开始播放后立即返回;
SND_SYNC:同步播放声音,在播放完后PlaySound函数才返回;
SND_LOOP一遍遍的重复播放声音,必须与SND_ASYNC标志一块使用。
【2、使用举例】
PlaySound(TEXT("C:\\WINDOWS\\Media\\Windows XP 启
动.wav"),NULL,SND_FILENAME|SND_SYNC);
注意的问题:文件名中的反斜线要用“\\”,
因为C语言中“\”默认是转义符,
如果要表示“\”则需要使用“\\”,
对这点不明白的请回去翻一下C语言的书;
对中文字符串要使用TEXT宏。
Ⅶ C语言中的PlaySound函数能播放MP3么
好像不能,Play Sound函数能播放WAVE跟WAV,还有系统声音。不支持MP3。
Ⅷ 怎样用C语言编程打开一个文件(比如mp3,mp4)
可以使用PlaySound()函数播放mp3音频,该函数原型位于windows.h。
PlaySound函数的声明为:
BOOL PlaySound(LPCSTR pszSound, HMODULE hwnd,DWORD fdwSound);
参数pszSound是指定了要播放声音的字符串。
参数hwnd是应用程序的实例句柄,除非pszSound的指向一个资源标识符(即fdwSound被定义为SND_RESOURCE),否则必须设置为NULL。
参数fdwSound是标志的组合,如下表所示。若成功则函数返回TRUE,否则返回FALSE。
使用PlaySound函数时需要在#include<windows.h>后面加上(注意:不能加在前面):
例程:
CFileDialog dlg(TRUE, "mp3", "*.mp3", OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT, "mp3文件(*.mp3)|*.mp3|");
/*创建选择对话框,让用户从文件夹中选取一个MP3文件*/
int iRet = dlg.DoModal();//获得对话框返回值
if(IDOK == iRet) //如果返回值成功,表明成功获取一个MP3文件
{
CString pathName= dlg.GetPathName(); //得到文件的路径名称
PlaySound( pathName , NULL, SND_FILENAME | SND_ASYNC);//用playsound函数播放该文件
}
Ⅸ C语言如何播放mp3格式音乐
windows现有的API似乎只支持播放.wav格式的音频,mp3格式恐怕你得再去网上找找开源代码
//播放音频"1.wav"
#include<stdio.h>
#include<windows.h>
#pragmacomment(lib,"winmm.lib")
intmain()
{
PlaySound("1.wav",NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
getchar();
return0;
}