播放音樂
大家好,我是辰夢!
很久沒有寫過文章了,在這期間,我寫了很多代碼,但很多都是别人寫的,我想了又想,今天把我覺得比較好的代碼給大家分享出來!
相信大家也找了很久的C語言音樂播放器,在這裡,我就抛轉引玉,雖不是音樂播放器,但也是做音樂播放器的第一步!
第一節 代碼的組成
#define use_CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<graphics.h>
#include<stdlib.h>
#include<conio.h>
#include<Windows.h>
#include<time.h>
#include<string.h>
#include<mmsystem.h>
#include"resource.h"
#pragma comment(lib,"winmm.lib")
這裡先把頭檔案給粘貼下來,當然,頭檔案隻有多的,沒有少的!
多說一句:我這個代碼,是在visual studio2019編輯環境下寫的!
對于要寫出音樂播放器,要查閱很多的專有名詞,舉個例子:
PlaySound(MAKEINTRESOURCE(IDR_WAVE2), NULL, SND_RESOURCE | SND_ASYNC)
這個一定要有哦~!
這行代碼是播放音樂用的!
下載下傳庫EeasyX,如果有這個C語言圖形庫的話,恭喜你,可以不用下載下傳其他庫了
好了,我們現在進入正題!!
(前方高能!!)
哈哈哈,推明天是不可能的!
我怎麼可能推到明天來做?!
第二節 加載圖檔
做一個C語言音樂播放器,怎麼能夠少了音樂的圖形界面呢?
光秃秃的,肯定不好看
(網上好看的圖檔,有很多,自己去找)
加載圖檔一般分為三步走:
- IMAGE img;//即說明一下,告訴計算機我們要加載圖檔
- loadimage(&img,“在這裡填你的圖檔位址(相對路徑或者絕對路徑都可以)”);
- putimage(,0 0,&img);//顯示圖檔,控制台上顯示
第一步當中的img那個其實是你輸入的名字,(随便輸),但是要跟後面對應哦~
putimage開頭兩個0,表示圖檔的坐标!
舉個例子:(以我的代碼為例,僅供參考!)
IMAGE img;
loadimage(&img, L"bg01.jpg", 770, 550);
putimage(0, 0, &img);
loadimage()裡面的770和550表示圖檔的像素,即圖檔的寬高。
第三節 播放音樂與完整代碼
(重點來了!!)
完整代碼你們是不是期待很久了呢?就像我自己,看别人的文章,直接跳到完整代碼處,然後自己東一榔頭西一棒的瞎操作一番,(溫馨提示:别學我)
在之前,提到了PlaySound()函數,我們把它加入到實際的例子當中
如下:
if (0 == PlaySound(MAKEINTRESOURCE(IDR_WAVE2), NULL, SND_RESOURCE | SND_ASYNC))
{
printf("播放失敗!!");
}
本人代碼寫的簡單,大佬勿噴!!
有情提示,請将你的音樂放在資源檔案裡。下面請看詳細操作!
- 第一步,找到你的“資源檔案”,右擊,出現多個選項!
圖檔如下:
因為我這裡加了音樂軟體,是以跟你們可能不一樣,但是呢?操作都一樣,右鍵點選“資源檔案”!
接着點選“建立項”,圖檔如下:
點選建立項之後呢?就會彈出一個視窗,我們就在“資源”>>"資源檔案”,然後點選“浏覽”,就可以了。
圖檔具體操作如下:
這樣你的資源檔案下就有一個檔案了,還是老操作,右鍵點選它,然後選中它最下面的“添加資源”>>這樣之後就點選“導入”,之後呢?選中“波形檔案”,這裡的波形檔案就是指的wav格式的音樂!
(重點:一定要wav呀!!)
好了,整個文章也已經到了末尾了,最後貼出我的終極大招完整代碼就基本結束了!
完整代碼如下(重點!!!!)
#define use_CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<graphics.h>
#include<stdlib.h>
#include<conio.h>
#include<Windows.h>
#include<time.h>
#include<string.h>
#include<mmsystem.h>
#include"resource.h"
#pragma comment(lib,"winmm.lib")
//int r[4] = { 80,150,250,283 };//R1 R2 R3 R4....順序
int main()
{
initgraph(770, 550);
IMAGE img;
loadimage(&img, L"bg01.jpg", 770, 550);
putimage(0, 0, &img);
IMAGE play;
loadimage(&play, L"play.jpg",60,60);
putimage(330, 450, &play);
IMAGE next;
loadimage(&next, L"next.jpg", 60, 60);
putimage(400, 450, &next);
IMAGE last;
loadimage(&last, L"last.jpg", 60, 60);
putimage(260, 450, &last);
// RECT R = { 80,150,250,283 };//矩形指針R1 80,150,250,283
// LOGFONT f;//字型樣式指針
// gettextstyle(&f);//擷取字型樣式
// wcscpy_s(f.lfFaceName, _T("宋體"));//設定字型為宋體
// f.lfQuality = ANTIALIASED_QUALITY;//設定輸出效果為抗鋸齒
// settextstyle(&f);//設定字型樣式
// settextcolor(YELLOW);//設定字型顔色
// drawtext(_T("歡迎"), &R, DT_CENTER | DT_VCENTER | DT_SINGLELINE);//在水準區域内,即矩形區域R1,輸入漢字,水準居中,垂直居中,單行顯示
settextcolor(WHITE);
settextstyle(30, 40, L"宋體");
outtextxy(160, 50, L"音樂播放器");
if (0 == PlaySound(MAKEINTRESOURCE(IDR_WAVE2), NULL, SND_RESOURCE | SND_ASYNC))
{
printf("播放失敗!!");
}
system("pause");
closegraph();
return 0;
}
僅供參考,本人經過實測(在visual studio2019環境下),完美運作 !
(有疑問,評論區見!可私信!)
參考文章:
我是參考這個文章寫出來的,如果想進一步思索的話,請點選這裡https://blog.csdn.net/qq_40571533/article/details/104393805?utm_source=app&app_version=4.8.0&code=app_1562916241&uLinkId=usr1mkqgl919blen