Đề xuất API âm thanh đa nền tảng


20

Tôi hiện đang xem xét để thêm âm thanh vào trò chơi của tôi. Tôi đã xem OpenAL và SDL, nhưng tôi muốn biết những gì khác ngoài đó. Bạn có thể đề xuất bất kỳ API âm thanh đa nền tảng tốt nào để phát triển trò chơi không?


1
"Tốt" là chủ quan. Sẽ có ích nếu bạn có một số yêu cầu cụ thể để câu trả lời có thể hướng hơn một chút đến nhu cầu cụ thể của bạn.
Tetrad

Câu trả lời:


13

Câu hỏi về Stack Overflow: "API âm thanh đa nền tảng cho các trò chơi?"

Tôi đồng ý với câu trả lời được chấp nhận:

Tôi là một fan hâm mộ lớn của Thư viện SFML. Nó cung cấp thêm các tính năng Đồ họa và Mạng, nhưng điều liên quan đến câu hỏi này là nó cũng có gói Audio gọn gàng.

Các tính năng âm thanh là:

  • Sử dụng tăng tốc phần cứng bất cứ khi nào có thể
  • Có thể tải và lưu các định dạng âm thanh tiêu chuẩn: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
  • Có thể tải tất cả tài nguyên âm thanh trực tiếp từ các tệp trong bộ nhớ
  • Không gian âm thanh 3D
  • Giao diện dễ dàng để thu âm thanh
  • Quản lý bộ nhớ hiệu quả, do đó bạn không phải lo lắng về tài nguyên hoặc thời gian lưu trữ
  • Hỗ trợ phát trực tuyến cho các tệp lớn; bạn thậm chí có thể viết lớp phát trực tuyến tùy chỉnh của mình cho bất kỳ nguồn nào (mạng, ...)
  • Hỗ trợ các định dạng đa kênh (mono, stereo, 4.0, 5.1, 6.1, 7.1)

Trang web: http://www.sfml-dev.org/


Cảm ơn phản hồi của bạn. Tôi đã tìm kiếm Phát triển trò chơi cho các câu hỏi hiện có thuộc loại này nhưng không phải là Stack Overflow.
Reverbb

Rõ ràng, bạn không thể bỏ phiếu để đóng với một tham chiếu đến một bài đăng trên một trang SE khác, vì vậy việc phê duyệt câu trả lời này có lẽ là kết quả tốt nhất có thể cho câu hỏi.

3
Và bất kể, nó không nhất thiết phải được đóng lại. Một số người có thể ủng hộ lựa chọn FMOD của Tetrad, ví dụ, không được đề cập trong câu hỏi SO. Tôi chỉ đặt ra câu hỏi để xây dựng nó, không cho rằng đó là một bản sao chính xác, vì đối tượng phát triển trò chơi không phải là một bản sao chính xác của khán giả SO. :)
Ricket

Tôi không đồng ý; nó nên được đóng lại và chuyển hướng đến câu hỏi SO. Nếu không, chúng tôi chia câu trả lời trong tương lai giữa hai nơi. Và đó là cùng một câu hỏi - đây là "Đề xuất API âm thanh đa nền tảng [để phát triển trò chơi] 'và câu hỏi còn lại là" API âm thanh đa nền tảng cho các trò chơi? "

2
Chúng tôi đang nhận được câu trả lời của nhà phát triển trò chơi ở đây (trong trường hợp này là như vậy). Không ai đến trang web này để nhận câu trả lời Stack Overflow, họ muốn ý kiến ​​từ các chuyên gia đặc biệt quan tâm đến việc hỗ trợ cộng đồng nhà phát triển trò chơi. Nếu chúng giống nhau, thì cũng vậy, bởi vì điều đó chắc chắn sẽ không phải luôn luôn như vậy, và đó là một phần lý do trang web này hữu ích. Xem meta.gamedev.stackexchange.com/questions/3/ Khăn để được giải thích thêm.
Christopher Horenstein

10

Loại API thực tế để triển khai âm thanh trong các trò chơi hiện nay theo như tôi quan tâm là FMOD .

Nó miễn phí cho các mục đích sử dụng phi thương mại và tương đối rẻ tiền cho phát triển "thông thường" (đọc: indie).

Đó là một chút quá mức cho yêu cầu "phát lại âm thanh" đơn giản này, nhưng cung cấp một bộ tính năng khổng lồ được thử nghiệm tốt trên tất cả các loại nền tảng.


2
Re: "Đó là một chút quá mức cho yêu cầu" phát lại âm thanh "đơn giản này - Tôi nghĩ rằng đã đến lúc các nhà phát triển vượt ra ngoài việc" phát lại âm thanh này "! Rất ít người giải quyết một API đồ họa chỉ cho phép các họa tiết 2D và tôi nghĩ rằng chúng ta cũng cần bắt đầu yêu cầu nhiều hơn từ âm thanh của mình.
Kylotan

1
Đáng buồn thay, FMOD rất có lỗi và các nhà phát triển chậm phản ứng với các vấn đề. Đối với "phát âm thanh" đơn giản này thì tốt, nhưng một khi bạn bắt đầu thực sự sử dụng nó, những thiếu sót thực sự bắt đầu bộc lộ.
dash-tom-bang

Ngoài ra khi họ nói đa nền tảng, họ thực sự có ý đó. Điều duy nhất tôi biết về việc chạy ở nhiều nơi hơn là Unity.
coderanger

Tôi đã sử dụng FMod trong một số dự án iPhone và không thấy nó đặc biệt có lỗi miễn là tôi dính vào API cấp thấp. Nhà thiết kế FMod tất nhiên là một con thú khác. Tôi cũng thấy các diễn đàn khá tốt và nhân viên ở đó rất ủng hộ. Tôi nghe nói các phiên bản console của FMod kém ổn định hơn (và đắt hơn nhiều) so với PC / Mac / iPhone nhưng không có kinh nghiệm với chúng.
martinpi

9

OpenAL

Tôi thực sự thích OpenAL như một thư viện âm thanh đa nền tảng. API ở mức độ thấp một chút nhưng bạn có thể dễ dàng bọc nó vào một giao diện thân thiện với động cơ đẹp hơn. Đó thực sự là nền tảng chéo với sự hỗ trợ hạng nhất cho: iPhone, Android, MacOSX, Windows và Linux.

Hãy xem mã âm thanh Djinn Engine . Hai tệp, có thể là 300 dòng giữa chúng (đếm bình luận, v.v.) và bạn có một hệ thống âm thanh khả thi.

Tôi chưa bao giờ xây dựng một trò chơi tập trung vào âm thanh, vì vậy OpenAL có thể không phù hợp với hóa đơn nếu cần kiểm soát chặt chẽ.


5

Nếu FMOD không phải là một lựa chọn thì Audiere là một lựa chọn nguồn mở tốt. Nó đã không được cập nhật trong một thời gian dài nhưng nó đa nền tảng, dễ sử dụng và có một bộ tính năng tốt .


4

Ngoài FMOD, còn có Audiokinetic Wwise , được sử dụng ngày càng nhiều trong ngành công nghiệp trò chơi như một công cụ thiết kế âm thanh đa nền tảng chuyên nghiệp và API. Nó có nhiều lựa chọn hiệu ứng (bao gồm hồi âm chập), hệ thống logic âm thanh phức tạp, phân lớp âm thanh, định hình, các công cụ âm nhạc tương tác, v.v ... Nó cung cấp một lựa chọn tốt các thuật toán giải mã và cũng miễn phí cho các dự án phi thương mại.



0

Vì bạn chỉ tò mò về những thứ khác ở ngoài kia, tôi chưa thấy bất kỳ đề cập nào về Miles ở đây. Tôi đã không sử dụng nó cho mình (mặc dù chúng tôi đã sử dụng nó nhiều năm trước trên một trò chơi), tuy nhiên những trò chơi này sử dụng nó.


0

libsoundio ở cấp độ thấp, nhưng nó là nền tảng chéo và tập trung vào sự mạnh mẽ. Đó là một lớp tối thiểu giữa trò chơi của bạn và phần phụ trợ âm thanh của hệ thống.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.