答えて
"すべてのプラットフォームと互換性" 背の高いオーダーのビットです。結局のところ、「すべてのプラットフォーム」には、車内のコントローラ、原子力発電所のレギュレータ、ネットワーク内のルータが含まれています。
"すべてのデスクトッププラットフォーム"を意味する場合は、もう少し運があるかもしれません。 100%標準C++でサウンドを生成することは不可能ですが、利用可能なライブラリがあります。しかし、私はこれらもあなたを "すべてのプラットフォーム"にするとは思わない。あなたは「最も一般的なプラットフォーム」に納得していますか?
ああ、ちょっと遅くなっちゃったよ^^最もよく聞こえる音はうまくいって^^ Linuxと互換性のある忘れてしまう "すべてのプラットフォーム" – goerdy
アップルはLinuxよりも市場シェアは高くないのですか? :) – Kos
@Kos - MacOS XはBSDをベースにしていたので、とにかくその中心にあるのはUnixだ。サーバやさまざまな埋め込みギズモを組み込むならば、おそらくLinuxはおそらくもっと普及しているだろうが、サーバのすべてが一度に異なる曲を再生し始めると不平を言う人もいるだろう。同期されたパフォーマンスを設定するには、本当にネットワーキングAPIも必要です。 – Steve314
私の提案は、それが学ぶとOpenGLなどのプログラミングの類似した流れを持っていることを意図するのはとても簡単ですOpenALの(3DクロスプラットフォームオーディオAPI)
に行くことです。それは無料で、サウンドカードを利用するためのさまざまな拡張機能を備えています。 OpenAllには、OpenGlのUtility Toolkit(GLUT)に似たライブラリがあり、これはフリーラウトと呼ばれています。それは物事をさらに簡単にします。
これが始めるには良い場所かもしれません: http://www.devmaster.net/articles/openal/
そのコード内の関数の一部は廃止されましたが、ドキュメントを読んで、あなたはそれを更新することができます。
devmasterチュートリアルでは、ogg vorbis(ロイヤリティフリー)ファイルをメモリにロードして再生する方法についても教えています。 libvorbisとliboggをダウンロードしてビルドする必要がありますが、良いドキュメントがあります。また、Visual Studioを使用している場合には、既に解決策を作成しています。
Creative Labs(最大のサウンドカードメーカー)がプロジェクトの主な貢献者であるという点は、その点で大きな点です。ハードウェアは無視されません。
最後に、OpenAl SDKをダウンロードし、適切なライブラリとディレクトリにリンクすることを忘れないでください。その中に格納されている特定のファイルを要求する人は常にたくさんいます。
どの形式ですか?ビープ音? WAVs? MP3? – Lagerbaer