קבצי מוזיקה

itamartal

New member
קבצי מוזיקה

אני רוצה לכתוב תוכנית בVC++ או C בתוכל לנגן קבצי מוזיקה (Wav, MP3), ללא שימוש בספריות מיותרות וכל מיני ActivX. מישהו יודע איפה אני יכול למצוא מידע על איך לקרוא מידע מWav וMP3, ואיך לנגן אותם (ולשלוח פקודת לDSP)?
 

kfirz

New member
איך בלי ספריות מיותרות? צריך להשתמש

בפונקציות multimedia API´s והן נמצאות ב-DLL של windows. צריך לכלול כמובן בפרויקט את windows.h זה צריך להיות פרויקט win32. לגבי MP3 אני לא יודע אם windows תומך בפורמט הזה, אז כנראה שתצטרך להוריד מאיפשהו sdk ל-MP3. אין מה לעשות. לגבי WAV, משתמשים בפונקציה פשוטה בשם PlaySound. תמצא את החומר ב-msdn. אם אתה רוצה sdk ל-MP3, אני יכול לשלוח לך. שלח לי mail. [email protected]
 

voguemaster

New member
באיזה שפה הספריה כתובה ??

היא חינמית ?? יש דוקומנטציה ? עד כמה שידוע לי האלגוריתמים של קידוד (פתיחה ושמירה) של קובצי MP3 הם לא בדיוק חופשיים לציבור..
 

itamartal

New member
DSP

יש לכם מושג אם אפשר לשלוח פקודות לDSP דרך VC++, ובכלל לבצע את הפקודה outport דרך windows?
 

gilad_no

New member
בעיקרון כן,

ניתן לגשת לחומרה דרך VC, אך זה קצת יותר מסובך מכיוון שחלונות עוטפת הכל בעזרת דרייברים. נסה לחפש בגוגל חומר על איך לגשת לחומרה תחת חלונות. ראיתי כמה יישומים עם קוד מקור לכך. אם לא תמצא, אני אנסה לאתר אותם.
 

odstudio

New member
הסבר מפורט:

פונקציות API הפונות לכרטיס הקול נמצאות ב- winmm.dll לשם שימוש בפונקציות אלה יש לעשות include ל- mmsystem.h ולינק ל- winmm.lib . בקשר ל- mp3, אז כמובן ש- Windows לא תומכת בפורמט זה. מה שכן, היא תומכת ב- WaveFormat. ע"י שימוש בפונקציות כגון waveoutOpen, wavoutPrepareHeader, ו- waveoutWrite ניתן לשלוח לכרטיס הקול buffer של מידע בינארי. buffer זה אינו מקודד, כלומר המידע שבו הוא הוא המידע שינוגן ע"י כרטיס הקול. MP3 הוא פורמט Lossy דחוס ועל-כן ראשית יש לפרוס מידע זה. פריסת מידע זה נעשית ע"י הספריה אותה אתה מחפש. המידע נפרס ל- Waveformat samples שאותם יש לשלוח לכרטיס הקול בעזרת ה- API (הפונקציות שציינתי לעיל). עליך לעיין ב- MSDN בנוגע לפונקציות אלה, וכן ללמוד דבר או שניים בקשר ל- Waveformat על-מנת לעמוד במשימתך. בהצלחה!
 

itamartal

New member
תודה

טוב תודה, אני אעיין במה בכתבתם, ואם יהיו לי עוד בעיות בהמשך אני אשמח אם תוכלו לעזור לי.
 
למעלה