🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

3345閲覧

OpenAL で.wavファイルを再生する方法が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

1グッド

0クリップ

投稿2020/11/29 12:04

以下のソースファイルですがどうすれば.wavファイルを再生できるのでしょうか?調べましたが情報が少なくて困っています手順そもそもわからないので教えていただけますでしょうか。?

cpp

1#include <iostream> 2#include <stdlib.h> 3#include "stdio.h" 4#include "math.h" 5 6#include <al.h> 7#include "alure2.h" 8 9#include <alc.h> 10 11#define USE_MATH_DEFINES 12#define SAMPLINGRATE 44100 //サンプリン周波数 13 14int main() 15{ 16 ALCdevice* Device = alcOpenDevice(nullptr); //デバイス 17 ALCcontext* Context = alcCreateContext(Device, nullptr); //コンテキスト 18 alcMakeContextCurrent(Context); //指定されたコンテキストを現在のコンテキストにする 19 20 int wavChannel = 0; 21 int wavBit = 0; 22 int wavSize = 0; 23 int wavFreq = 0; 24 25 ALuint buffer = 0; //バッファ 26 ALuint source = 0; //ソース 27 alGenBuffers(1, &buffer); 28 alGenSources(1, &source); 29 30 31 32 signed short* data = NULL; 33 34 FILE* fp = nullptr; 35 fopen_s(&fp, "C:/Users/yw325/Desktop/Music_A.wav", "rb"); 36 printf("あああ\n"); 37 38 39 40 41 //ソースにバッファを適用 42 alSourcei(source,AL_BUFFER,buffer); 43 44 //ループ再生をON 45 alSourcei(source,AL_LOOPING,AL_TRUE); 46 47 //ソースを再生! 48 alSourcePlay(source); 49 50 //system("PAUSE");//一時停止 51 52 //動的確保したメモリを解放 53 delete[] data; 54 data = nullptr; 55 56 //バッファとソースの解放 57 alDeleteBuffers(1, &buffer); 58 alDeleteSources(1,&source); 59 60 alcMakeContextCurrent(nullptr); 61 alcDestroyContext(Context); 62 alcCloseDevice(Device); 63 64 65 66 67 return 0; 68}
txty👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

alutCreateBufferFromFile - Google 検索

とりあえず、これででてくるものをひと通り読んでみてはどうでしょうか

投稿2020/11/29 12:11

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/30 02:11 編集

ALUTは楽をし過ぎているので使いたいくないのですがコードを渋々見ていたらそれらしい関数があったため 解決しました。https://w.atwiki.jp/opengl/pages/174.html
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問