ไลบรารีเสียงสำหรับ Windows, Mac และ iOS? OpenAL/OpenSL

ฉันเขียนเกมบนเดสก์ท็อป/iOS ด้วย OpenGL และต้องการเล่นไฟล์เสียง (mp3 หรือ wav) ฉันเคยทำงานกับ CoreAudio และ AudioQuuees แล้ว แต่ตอนนี้ฉันต้องการบางอย่างที่ใช้งานได้กับ Windows (และอาจเป็น Linux)

ฉันเคยเห็นมาแล้ว:

  • โอเพ่นอัล
  • โอเพ่น SL

ฉันต้องการเพียงคุณสมบัติพื้นฐานจริงๆ เช่น "playSound(ไฟล์)" และ "isPlaying(ไฟล์)" - ไม่มีเสียง 3D, เอฟเฟกต์ และอื่นๆ... OpenAL และ OpenSL มาจาก khronos ทั้งคู่ - ดังนั้นฉันจึงไม่เข้าใจความแตกต่างจริงๆ (ใช่ เป็นห้องสมุด 2 แห่งที่แตกต่างกัน)

อะไรคือ Soultion ข้ามแพลตฟอร์มที่ง่ายที่สุด? ฉันสามารถเขียนโค้ดตัวใดตัวหนึ่งที่ทำงานบน iPhone และเดสก์ท็อปพีซีที่คล้ายกันได้หรือไม่


person Constantin    schedule 07.08.2011    source แหล่งที่มา
comment
ฉันไม่แน่ใจว่ามันเป็นแบบข้ามแพลตฟอร์มและทั้งหมดตามที่คุณต้องการ แต่คุณได้ดู fmod แล้วหรือยัง? เมื่อก่อนฉันเคยมีประสบการณ์ดีๆ กับห้องสมุดแห่งนี้ ตอนที่มันยังฟรีอยู่ :-P ตอนนี้ฉันไม่รู้เรื่องราคาเลย..   -  person mtijn    schedule 08.08.2011
comment
Juce เป็นมากกว่าไลบรารีเสียง แต่มีความสามารถด้านเสียงและเป็น rawmaterialsoftware.com/ ข้ามแพลตฟอร์ม juce.php   -  person Itamar Katz    schedule 08.08.2011
comment
OpenAL ไม่ได้มาจาก khronos มีเพียง OpenSL เท่านั้นที่เป็นเช่นนั้น นั่นคือความแตกต่าง OpenAL ถูกคิดค้นโดย Loki Software และปัจจุบันเป็นเจ้าของโดย Creative Labs ซึ่งเปลี่ยนจาก LGPL เป็นกรรมสิทธิ์ ทั้งสองมีอินเทอร์เฟซที่ทำให้นึกถึง OpenGL แต่ปัจจุบันมีเพียง OpenAL เท่านั้นที่ได้รับการสนับสนุนอย่างกว้างขวางกว่า OpenSL จริงๆ แล้วคือ OpenSL ES และสำหรับอุปกรณ์ฝังตัวเท่านั้น lib สำหรับเดสก์ท็อปพีซีคือ OpenMAX AL ซึ่งมีอินเทอร์เฟซเหมือนกับ OpenSL ES แต่ยัง มีฟังก์ชันการทำงานมากมายนอกเหนือจากการเล่นและบันทึกเสียง   -  person Mecki    schedule 10.02.2012


คำตอบ (2)


หากแพลตฟอร์มเป้าหมายของคุณคือ Windows/Mac/iOS OpenAL ก็เป็นตัวเลือกที่ดีเนื่องจากรองรับบนแพลตฟอร์มเหล่านั้นทั้งหมด จุดที่คุณจะต้องเขียนโค้ดข้ามแพลตฟอร์มคือวิธีเปิดและถอดรหัสไฟล์ของคุณ

person Byron    schedule 24.01.2012
comment
ฉันกำลังดู API เสียงข้ามแพลตฟอร์มเช่นกัน OpenAL เป็นตัวเลือกแรกของฉัน ดูเหมือนว่าจะได้รับการย้ายไปยัง Android เช่นกัน ใบอนุญาตของพวกเขาอนุญาตให้มีกิจการเชิงพาณิชย์แบบปิดหรือไม่? - person Halsafar; 30.05.2012
comment
@Halsafar ใบอนุญาตของ OpenAl คือ LGPL ใช่แล้วคุณทำได้ - person Flavien Volken; 09.12.2013
comment
หากคุณกำหนดเป้าหมายเป็น Windows/Mac/Linux/iOS/BlackBerry10/Android และไม่ต้องการเสียงที่มีความหน่วงต่ำ OpenAL คือตัวเลือกที่เหมาะสม - person Sergey K.; 13.07.2015

คุณอาจกำลังมองหา SDL_audio ซึ่งจะโหลดไฟล์เสียงและเล่น API ของมันมีให้บริการในภาษา C และเป็นข้ามแพลตฟอร์ม

person bsound    schedule 17.11.2020