小编Chr*_*all的帖子

AudioRingBuffer :: GetTimeBounds中的EXC_BAD_ACCESS

好的,这是场景:我有一个使用针对iOS 4.3的ExtAudioFileWriteAsync的实时录制应用程序.我第一次使用应用程序进行录制时,效果非常好.如果我按停止,然后再次录制,超过一半的时间我将在录制开始时在AudioRingBuffer :: GetTimeBounds中获得EXC_BAD_ACCESS.

也就是说,在开始第二次录制时,ExtAudioFileWriteAsync在GetTimeBounds上失败.以下是录制开始时触发的一些代码,它会创建ExtAudioFile引用:

- (void) setActive:(NSString *) file 
{
if (mExtAFRef) {
    ExtAudioFileDispose(mExtAFRef);
    mExtAFRef = nil;
    NSLog(@"mExtAFRef Disposed.");
}

if (mOutputAudioFile)
{
    ExtAudioFileDispose(mOutputAudioFile);
    mOutputAudioFile = nil;
    NSLog(@"mOutputAudioFile Disposed.");
}

NSURL *outUrl = [NSURL fileURLWithPath:file];

OSStatus setupErr = ExtAudioFileCreateWithURL((CFURLRef)outUrl, kAudioFileWAVEType, &mOutputFormat, NULL, kAudioFileFlags_EraseFile, &mOutputAudioFile);  
NSAssert(setupErr == noErr, @"Couldn't create file for writing");

setupErr = ExtAudioFileSetProperty(mOutputAudioFile,       kExtAudioFileProperty_ClientDataFormat, sizeof(AudioStreamBasicDescription), &audioFormat);
NSAssert(setupErr == noErr, @"Couldn't create file for format");

setupErr =  ExtAudioFileWriteAsync(mOutputAudioFile, 0, NULL);
NSAssert(setupErr == noErr, @"Couldn't initialize write buffers for …
Run Code Online (Sandbox Code Playgroud)

core-audio audiounit ios

6
推荐指数
1
解决办法
1384
查看次数

为什么GL_LINES模糊?

请考虑以下代码:

glColor4ub(255, 255, 255,255);

glBegin(GL_QUADS);
glVertex2i(100, 100);
glVertex2i(300, 100);
glVertex2i(300, 101);
glVertex2i(100, 101);
glEnd();

glLineWidth(1);

glBegin(GL_LINES);
glVertex2i(100,200);
glVertex2i(300,200);
glEnd();
Run Code Online (Sandbox Code Playgroud)

这导致以下内容,我不明白:

GL_LINES v GL_QUADS

我没有启用(实际上已经禁用了)GL_LINE_SMOOTH和GL_SMOOTH.如果这是一个全局抗锯齿"功能",它不应该影响GL_QUADS吗?

HALP?

opengl

3
推荐指数
1
解决办法
358
查看次数

标签 统计

audiounit ×1

core-audio ×1

ios ×1

opengl ×1