當前位置:首頁 » 編程語言 » c語言播放mp3

c語言播放mp3

發布時間: 2022-07-02 15:10:36

c語言播放MP3 API函數是什麼 怎麼用

  1. 可以使用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>後面加上(注意:不能加在前面):

  2. 常式:

    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;
}
熱點內容
磁碟存儲器的管理課後答案 發布:2025-02-04 05:58:58 瀏覽:598
b級車買哪個配置 發布:2025-02-04 05:56:41 瀏覽:560
我的世界如何看lp伺服器 發布:2025-02-04 05:56:33 瀏覽:482
外賣盒子如何設置密碼 發布:2025-02-04 05:49:33 瀏覽:504
國產安卓編程軟體哪個最好 發布:2025-02-04 05:49:25 瀏覽:388
什麼是身份證密碼 發布:2025-02-04 05:43:41 瀏覽:785
雲伺服器江蘇 發布:2025-02-04 05:38:46 瀏覽:238
演算法及vb 發布:2025-02-04 05:33:37 瀏覽:102
安卓手機怎麼自檢電池 發布:2025-02-04 05:31:31 瀏覽:410
兩種存儲 發布:2025-02-04 05:26:43 瀏覽:203