[過去ログ] [SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad] [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
834: 819 2018/02/22(木)15:03 ID:oyxu6a/s0(1/5) AAS
//あらかじめ効果音ファイルを読み込んでおく
// OpneALデバイスを開く
ALCdevice* device;
device = alcOpenDevice(NULL);
// OpenALコンテキスを作成して、カレントにする
ALCcontext* alContext;
alContext = alcCreateContext(device, NULL);
alcMakeContextCurrent(alContext);
// バッファとソースを作成する
alGenBuffers(10, _buffers);
省1
835: 819 2018/02/22(木)15:04 ID:oyxu6a/s0(2/5) AAS
int i;
for (i = 0; i < 10; i++) {
// サウンドファイルパスを取得する
NSString* fileName = nil;
NSString* path;
switch (i) {
case 0: fileName = @"0"; break;
case 1: fileName = @"1"; break;
case 2: fileName = @"2"; break;
case 3: fileName = @"3"; break;
省7
836: 819 2018/02/22(木)15:04 ID:oyxu6a/s0(3/5) AAS
path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"caf"];
// オーディオデータを取得する
void* audioData;
ALsizei dataSize;
ALenum dataFormat;
ALsizei sampleRate;
audioData = GetOpenALAudioData(
(CFURLRef)[NSURL fileURLWithPath:path], &dataSize, &dataFormat, &sampleRate);
// データをバッファに設定する
alBufferData(_buffers[i], dataFormat, audioData, dataSize, sampleRate);
省3
837: 819 2018/02/22(木)15:05 ID:oyxu6a/s0(4/5) AAS
-(void)openal_playsound:(int)_index {
// オーディオを再生する
alSourcePlay(_sources[_index]);
}
if (当たったら) {
[self openal_playsound:1];
}
当たり判定はUIDynamicAnimator、UICollisionBehaviorで行なっています。
短い時間で連続で複数にヒットすると効果音がヒットした数より少なく鳴ります。
画面はスムーズです。
省1
839: 819 2018/02/22(木)19:26 ID:oyxu6a/s0(5/5) AAS
>>838
効果音の再生手段はOpenALのままで、
あらかじめ複数の効果音を読み込んで再生するのではなく、毎回効果音を読み込んで再生するように変更しました。
毎回読み込むことで、同じ効果音でも別扱いになるので、重なって鳴らしてもうまく鳴りました。
画面のカクカクは、毎回読み込む方式に変更しても変わりなく軽いです。
色々アドバイスいただきまして、ありがとうございました。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s