2014-11-09 4 views
1

Когда я запускаю мою предыдущую игру против 64-битной архитектуры, я получаю ошибки OpenAL ..OpenAL с 64-битной архитектурой на iPhone

Он не говорит «нет функции соответствия для вызова alGenBuffers» и «нет функции соответствия для вызова alGenSources». Как я могу исправить эти ошибки?

Весь метод

-(bool) loadSoundWithKey:(NSString *)_soundKey File:(NSString *)_file Ext:(NSString *) _ext Loop:(bool)loops{ 


     ALvoid * outData; 
     ALenum error = AL_NO_ERROR; 
     ALenum format; 
     ALsizei size; 
     ALsizei freq; 

     NSBundle * bundle = [NSBundle mainBundle]; 

     CFURLRef fileURL = (__bridge_retained CFURLRef)[NSURL fileURLWithPath:[bundle pathForResource:_file ofType:_ext]]; 

     if (!fileURL) 
     { 
      NSLog(@"file not found."); 
      return false; 
     } 

     outData = GameGetOpenALAudioData(fileURL, &size, &format, &freq); 

     CFRelease(fileURL); 

     if((error = alGetError()) != AL_NO_ERROR) { 
      printf("error loading sound: %xn", error); 
      exit(1); 
     } 

     NSUInteger bufferID; 
     alGenBuffers(1, &bufferID); // error 

     alBufferData(bufferID,format,outData,size,freq); 

     [bufferStorageArray addObject:[NSNumber numberWithUnsignedInteger:bufferID]]; 

     NSUInteger sourceID; 
     alGenSources(1, &sourceID); // error 

     alSourcei(sourceID, AL_BUFFER, bufferID); 

     alSourcef(sourceID, AL_PITCH, 1.0f); 
     alSourcef(sourceID, AL_GAIN, 1.0f); 
     if (loops) alSourcei(sourceID, AL_LOOPING, AL_TRUE); 


     if (outData) 
     { 
      free(outData); 
      outData = NULL; 
     } 


     return true; 
} 
+1

Используете ли вы по умолчанию OpenAL.framework? – user123

ответ

0

Я разобрался ..

Видимо alGenBuffers и alGenSources требуют GLuint не NSUInteger!