2013-12-11 1 views
0

Я работаю над приложением VOIP, для записи голоса и воспроизведения. Я использую фреймворк AudioQueue, столкнувшись с одной проводной проблемой,
Когда окно приложения становится миниатюризированным, оно не воспроизводит аудио для фракции сек, пока окно не станет миниатюризировано.AudioQueue не работает Window Miniaturize

Я чувствую, что это связано с запуском AudioQueue в главной теме , я попытался запустить audioQueue в другой ветке, но в этом AudioQueue не работает.

Любые указатели, как решить эту проблему?

Или .... Есть ли способ обработать уведомление, когда пользователь нажимает кнопку «Свернуть», и я могу обрабатывать и отказываться от миниатюр, когда звук продолжается? Я получаю метод делегирования для закрытия и других действий, но не для кнопки «При нажатии кнопки».

ответ

0

Спасибо за глядя на него

Он получил решена с помощью CFRunloop в очереди воспроизведения звука, как это,

OSStatus status = AudioQueueStart(mQueue,NULL); 


NSLog(@" Start AudioQueue returns %d",(int)status); 

if (status != noErr) { 
    NSLog(@"AudioQueueStart Error "); 
    mIsRunning = TRUE; 
} 

do {            // 5 
    CFRunLoopRunInMode (       // 6 
         kCFRunLoopDefaultMode,      // 7 
         0.25,          // 8 
         false          // 9 
         ); 

} while (mIsRunning); 

CFRunLoopRunInMode (        // 10 
        kCFRunLoopDefaultMode, 
        1, 
        false 
        ); 

Используя эту строку кода, я могу начать с звуковых сообщений потока.