gpt4 book ai didi

iphone - OpenAL 初始化问题,仅限 iPod(?)

转载 作者:行者123 更新时间:2023-12-03 21:09:34 24 4
gpt4 key购买 nike

我在使用 OpenAL 时遇到了一个问题,该问题似乎只出现在 iPod 硬件上,奇怪的是它以前工作正常,但现在却不行了。

我正在设置 Audio Session :

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: nil];
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute,
sizeof(UInt32), &audioRouteOverride);

AudioSessionSetActive(YES);

并初始化 OpenAL:

device = alcOpenDevice(NULL);
if (!device) {
NSLog(@"Could not open default OpenAL device.");
return NO;
}

context = alcCreateContext(device, 0);
if (!context) {
NSLog(@"Failed to create OpenAL context for default device.");
return NO;
}

BOOL success = alcMakeContextCurrent(context); // fails here
if (!success) {
NSLog(@"Failed to set current OpenAL context.");
return NO;

输出为:

AudioStreamBasicDescription:  2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved
2010-10-27 10:51:09.261 FinchTestProject[239:307] Failed to set current OpenAL context.

所以 alcMakeContextCurrent 函数返回 false,我不知道为什么。音频并不是我的专长,我找不到太多这方面的信息,所以如果你们能给我任何帮助,我将不胜感激。

谢谢!

编辑:我发现如果我颠倒初始化的顺序 - 也就是说,如果我初始化 OpenAL 然后初始化 AudioSession,它就可以工作......尽管这是我之前的顺序并且它不起作用,所以肯定发生了一些有趣的事情;此外,它仍然不适用于旧版本的 iOS

最佳答案

初始化的逆序似乎可以正常工作,先是 OpenAL,然后是 AudioSession

关于iphone - OpenAL 初始化问题,仅限 iPod(?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4201220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com