好的,这是场景:我有一个使用针对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) 请考虑以下代码:
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_LINE_SMOOTH和GL_SMOOTH.如果这是一个全局抗锯齿"功能",它不应该影响GL_QUADS吗?
HALP?