2012-03-23 43 views
5

Tôi đang hết sức tìm kiếm thư viện giải mã mp3 C++, tốt nhất là miễn phí (như lgpl) và nền tảng chéo hoặc cho windows và mac. Bất cứ ai có thể đề nghị thư viện như vậy và đăng một số hướng dẫn để sử dụng nó? ffmpeg và sdl (sdl_sound, sdl_mixer) không được biên dịch. Tôi không thể nhận được mpg123 làm việc - là nó cho thế giới linux chỉ hoặc những gì? Có một số hướng dẫn về cách sử dụng mpg123 trên các cửa sổ không? mpg123 không thể tìm thấy một số biểu tượng đó là tôi không đặt một số dll ở đúng con đường - nhưng đó?thư viện mp3 C++

Nhìn chung, tôi muốn có thể đọc và ghi tất cả các định dạng tệp âm thanh chính trên cửa sổ và mac - bắt đầu bằng cửa sổ.

+3

Đường ruột của VLC là ffmpeg và nó chạy trên Windows và Mac. –

+0

hmm đúng - bạn có thể đăng một số hướng dẫn về cách làm việc ffmpeg không? – user1288043

+0

Bạn có thể tránh được rất nhiều vấn đề về xây dựng bằng cách bắt đầu từ đây. http://ffmpeg.zeranoe.com/ –

Trả lời

1

Bạn đã xem xét LAME? Ngoài ra, hãy lưu ý rằng thuật toán mp3 phải tuân theo các bằng sáng chế, vì vậy bạn cần phải cẩn thận không cần biết bạn sử dụng thư viện nào.

+0

Tôi nghĩ LAME chỉ dành cho mã hóa. Và vâng tôi biết về các bằng sáng chế, nhưng vẫn còn rất nhiều thư viện để thực hiện công việc. – user1288043

+0

Lame có bộ giải mã sẵn có bằng cách sử dụng mpg123 – ShrekOverflow

0

Hãy xem bass:

Tôi đã làm việc với nó một vài năm trước, nó là dễ sử dụng, đa nền, với một chất lượng âm thanh tốt và các nhà phát triển đã rất ủng hộ. Nó là miễn phí cho sử dụng phi thương mại.

1

Tôi nghĩ lần cuối tôi cần tôi sử dụng libMAD. Làm việc tốt nhưng đó là một lib C.

2

Có một vài lựa chọn:

GStreamer là một thư viện nền tảng cho việc xây dựng các đồ thị của các thành phần phương tiện truyền thông xử lý. Các ứng dụng hỗ trợ phạm vi từ phát lại Ogg/Vorbis đơn giản, phát trực tiếp âm thanh/video đến xử lý âm thanh phức tạp (trộn) và video (chỉnh sửa phi tuyến tính).

This page có một số thông tin rất thú vị về GStreamer và các định dạng MP3, đó là một cuốn sách phải đọc nếu bạn quyết định đi với GStreamer:

Các định dạng âm thanh MP3 là một nỗi đau. Nó được cấp bằng sáng chế, gây khó khăn cho các nhà phân phối Linux để đóng gói (hoặc người dùng Linux sử dụng) một cách hợp pháp ở nhiều nơi trên thế giới. Nó thậm chí không âm thanh tất cả những gì tốt, so với một số lựa chọn thay thế. Tuy nhiên MP3 khó tránh;

Bên cạnh đó, ofers GStreamer một giao diện dòng lệnh thông qua gst khởi động mà là rất hữu ích để kiểm tra các đường ống bạn đang lắp ráp trong chương trình của bạn trước khi bạn bắt đầu để viết mã mã thực tế:

gst-launch filesrc location=/path/to/audiofile ! decodebin ! oss4sink 

Và nếu bạn cần build GStreamer on Windows, hãy kiểm tra số tutorial for Visual Studio này.

PortAudio là một nền tảng mã nguồn mở, miễn phí, âm thanh I/O thư viện. Nó cho phép bạn viết các chương trình âm thanh đơn giản trong 'C' hoặc C++ sẽ biên dịch và chạy trên nhiều nền tảng bao gồm Windows, Macintosh OS X và Unix (OSS/ALSA).

Hỗ trợ MP3 đi qua libmad. Có tutorials giúp xây dựng và sử dụng thư viện.

0

Tôi đoán rằng gstreamer là một lựa chọn tốt nhất nhưng bạn cũng có thể sử dụng LibVLC là cốt lõi của trình phát vlc.

1

Bạn có thể thử Helix.

Phiên bản này có phiên bản được tối ưu hóa cho nền tảng nhúng và kiến ​​trúc cánh tay.