2009-01-09 33 views
31

Tôi đang tìm cách dễ nhất để phát tệp MP3 trong C. Tôi đang tìm thư viện, trong đó tôi chỉ có thể gọi hàm trên tên tệp hoặc tệp thực thi sẽ chạy và thoát. Xin đề nghị.Cách phát tệp MP3 trong C?

+0

Những loại giấy phép nên thư viện này có? Tôi đoán có một vài GPL (mặc dù định dạng mp3/thuật toán luôn luôn có/có vấn đề giấy phép của nó) nhưng chúng có thể không phù hợp với dự án của bạn. Ngoài ra: windows/osx/linux? –

Trả lời

3

Tôi không biết nếu đó là "cách dễ nhất", nhưng bạn có thể xem SDL (cùng với SDL_sound).

2

Nếu bạn đang ở trên Windows hoặc OSX, tôi khuyên bạn nên BASS (http://www.un4seen.com/bass.html)

Bạn có thể tải thư viện và nhìn vào mẫu mã để bắt đầu. Ví dụ "cuộc thi" trong thư mục C là một điểm khởi đầu tốt.

22

Sử dụng FMOD (nền tảng), điều này nên càng đơn giản như thế này:

#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(); 
} 

Là một mặt lưu ý, tôi muốn đề nghị bạn sử dụng C++ trên C.

+14

Tôi không nhận được những gì bên lưu ý phải làm với câu hỏi. – hanno

1

Nếu u có thể sử dụng C++ và nếu bạn đang làm việc trên nền tảng windows hơn là sử dụng WMp3

Thư viện đó rất dễ làm việc và cho phép bạn phát, tạm dừng, tìm kiếm trên các tệp mp3.

0

cách khác ai đó đã viết mà sẽ chỉ chạy và thoát.

Bạn có thể sử dụng mpg123 (hoặc cổng điểm cố định của nó, mpg321)

mpg123 <mp3file> 

sẽ chơi một file mp3 và bỏ thuốc lá.

2

Trên Win32, bạn không cần bất kỳ thư viện nào. Sử dụng tiêu chuẩn Win32 api (mp3 có nguồn gốc)

Xem trên Adv. Nhóm tin tức Win32 api: tin tức: //comp.os.ms-windows.programmer.win32 nơi đó là Câu hỏi thường gặp.

+0

http://www.codeproject.com/KB/audio-video/MP3Example.aspx – bobobobo

5

BASS DLL thực sự dễ sử dụng và có thể sẽ làm những gì bạn cần. Nó chỉ miễn phí cho việc sử dụng phi thương mại.

Nếu bạn cần kiểm soát nhiều hơn, bạn sẽ cần một codec (tôi thích libMad) và một số API đầu ra âm thanh như DirectSound trên Windows hoặc ALSA hoặc Linux (hoặc bất kỳ Linux kẻ sử dụng cho âm thanh trong tuần này)

0

mpg123 có một giao diện từ xa chung mà bạn truy cập bằng cách bắt đầu thực thi với tùy chọn -R. Sau đó bạn có thể gửi các lệnh (chẳng hạn như tải, tạm dừng, vv) trên một đường ống nămo hoặc đến stdin của tiến trình con. Nếu không có gì khác dễ dàng để gỡ lỗi và kiểm tra thủ công.

Các vấn đề liên quan