C에서 MP3 파일을 재생하는 방법은?
저는 C에서 MP3 파일을 가장 쉽게 재생할 수 있는 방법을 찾고 있습니다.파일 이름에 있는 함수를 호출할 수 있는 라이브러리나 실행 파일을 찾고 있습니다.제안 좀 해주세요.
FMOD(크로스 플랫폼)를 사용하면 다음과 같이 간단해야 합니다.
#include <conio.h>
#include "inc/fmod.h"
FSOUND_SAMPLE* handle;
int main ()
{
// init FMOD sound system
FSOUND_Init (44100, 32, 0);
// load and play mp3
handle=FSOUND_Sample_Load (0,"my.mp3",0, 0, 0);
FSOUND_PlaySound (0,handle);
// wait until the users hits a key to end the app
while (!_kbhit())
{
}
// clean up
FSOUND_Sample_Free (handle);
FSOUND_Close();
}
참고로 C++를 C보다 C++를 사용하는 것을 추천합니다.
BASS DLL은 정말 사용하기 쉬우며 필요한 작업을 수행할 수 있습니다.하지만 비상업적인 용도로만 무료로 이용할 수 있습니다.
더 많은 제어가 필요하다면 코덱(libMad를 선호합니다)과 Windows나 ALSA, Linux의 DirectSound와 같은 사운드 출력 API(또는 Linux 사용자가 이번 주 사운드에 사용하는 모든 것)가 필요합니다.
그게 "가장 쉬운 방법"인지는 모르겠지만, (SDL_sound와 함께) SDL을 볼 수 있습니다.
Windows 또는 OSX를 사용하는 경우 BASS(http://www.un4seen.com/bass.html) 를 추천합니다.
라이브러리를 다운받아서 코드 샘플을 보고 시작하시면 됩니다.C 디렉토리의 "contest" 예제는 좋은 시작점입니다.
Win32에서는 라이브러리가 필요 없습니다.표준 Win32 api 사용(mp3는 네이티브)
Adv에서 확인합니다.Win32 api 뉴스그룹 : news://comp.os.ms -windows.programmer.win32, FAQ입니다.
C++를 사용할 수 있고 wmp3보다 window platform에서 작업하는 경우
그 라이브러리는 작업하기 쉬우며 mp3 파일로 재생, 일시정지, 검색할 수 있습니다.
아니면 이미 작성된 것 중에 그냥 달려가서 그만두는 것도 있습니다.
mpg123 (또는 그것의 fixed point port, mpg321)을 사용할 수 있습니다.
mpg123 <mp3file>
mp3 파일을 재생하고 그만둘 것입니다.
mpg123에는 -R 옵션으로 실행 파일을 시작하여 액세스하는 일반 원격 인터페이스가 있습니다.그런 다음 하위 프로세스의 피포 파이프 또는 stdin을 통해 명령(load, pause 등)을 보낼 수 있습니다.다른 방법이 없다면 수동으로 디버깅하고 테스트하는 것이 쉽습니다.
여기로 이동:
http://code4k.blogspot.com/2010/05/playing-mp3-in-c-using-plain-windows.html
이 웹사이트에는 이 사람이 mp3 플레이어의 코드를 생성한 방법을 볼 수 있는 zip이 있습니다.
http://www.codeguru.com/cpp/g-m/directx/directshow/article.php/c19079/Simple-C-MP3-Player-Class.htm 을 확인할 수도 있습니다.
아니면
http://www.ucancode.net/Visual_C_Control/Play-MP3-File-VC-Sample-Player.htm
언급URL : https://stackoverflow.com/questions/428884/how-to-play-mp3-files-in-c
'programing' 카테고리의 다른 글
| 마스터 분기에서 커밋 방지 (0) | 2023.10.26 |
|---|---|
| angularjs: 강제 재rendering/ 지시 템플릿 전체 새로 고침 (0) | 2023.10.26 |
| 노드에서 글로벌 모듈을 가져오려면 어떻게 해야 합니까?"Error: Can't find module(오류: 모듈을 찾을 수 없음)"이라는 메시지가 표시됩니까 (0) | 2023.10.21 |
| 외모When Contained In In In Swift (0) | 2023.10.21 |
| 점선 테두리 점 사이의 간격을 늘리는 방법 (0) | 2023.10.21 |