2013-06-26 4 views
5

следующих задач:AVAudioPlayer Ошибка с помощью IOS Simulator

<0xb03e7000> Error '!obj' trying to fetch default input device's sample rate 
<0xb03e7000> Error getting audio input device sample rate: '!obj' 
<0xb03e7000> AQMEIOManager::FindIOUnit: error '!dev' 

Я нашел эту проблему уже здесь, на StackOverflow, но ни один из предоставленных решений не работал для меня.

Код:

#import "CJTActionViewController.h" 

@interface CJTActionViewController() 

@property NSURL *url; 
@property NSData *songFile; 
@property AVAudioPlayer *audioPlayer; 

@end 

@implementation CJTActionViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.url = [NSURL fileURLWithPath: [NSString stringWithFormat:@"%@/cannon_01.wav", [[NSBundle mainBundle] resourcePath]]]; 
    self.songFile = [[NSData alloc] initWithContentsOfURL:self.url]; 
    self.audioPlayer = [[AVAudioPlayer alloc] initWithData:self.songFile error:nil]; 
    self.audioPlayer.delegate = self; 
    self.audioPlayer.numberOfLoops = 0; 
} 

- (IBAction)firePressed(id):sender 
{ 
    [self.audioPlayer play]; 
} 

@end 

Делегат установлен. Dont знать, если его важный, но на другом mac этот код работает без проблем.

Я использую Ios 6.1 и имитатор 6,1

ответ

14

У меня была такая же проблема, и был в состоянии исправить путем регулировки параметров звука на макинтош я бегу имитатор дальше, за the answer to this question. Я использую внешнюю звуковую карту, и изменять настройки звука на мой макинтош следующим образом сделал трюк:

  • ввода: Встроенный микрофон
  • Выходные: Внутренние дикторы

Надежда это помогает , Мой код очень похож на ваш, и я не думаю, что это проблема с вашим кодом вообще.

+1

Спасибо! Вход микрофона был пуст, и osx не обнаружил никакого источника входного сигнала. Я вставил гнездо в микрофонный вход, и ошибка исчезла. –

+0

Можете подтвердить, подключив наушники к порту ввода, разрешили эту проблему, как странно! – JMK

+0

У меня была камера iSight, подключенная к моему mac mini, и эта ошибка произошла. Отключите iSight, и эта ошибка исчезла. Спасибо за подсказку, чтобы проверить звук. – fawsha1

1

Я потратил часы, пытаясь понять это, если у вас нет микрофона или устройства ввода, тогда xcode не сможет правильно инициализировать AVAudioPlayer.

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

Так что просто подключайте устройство ввода какого-либо типа во время работы на симуляторе, я пока не нашел способ обойти это. И это, вероятно, тоже не рекомендуется.

2

Подтверждено, что установка аудиоустройства ввода (и перезагрузка компьютера) решает проблему. Я получил эту ошибку при переходе с Macbook Air на Mac Pro Cylinder после того, как потянул Git repo.

Я прикрепил мой Бозе AE Bluetooth-гарнитуру и, наконец, получил значащее сообщение от Xcode, но это было еще прерывание:

16:04:10.781 WARNING: 246: Default audio device changed. Restart the simulator to have it use the newly-selected device. 
2015-04-21 16:04:19.790 FatBirdsPetAdventure[1622:84473] 16:04:19.790 ERROR:  56: Start: Mach message timeout. Apparently deadlocked. Aborting now. 

После перезагрузки тренажера и делают XCode танец (удалить приложение из симулятора, чистый проект , rebuild) Появилось другое сообщение:

16:06:13.847 ERROR:  56: Initialize: Mach message timeout. Apparently deadlocked. Aborting now. 

Наконец, после перезапуска машины ошибок больше нет.

0

У меня просто была эта же проблема, но у вас были динамики, подключенные к гнезду для наушников. Убрал гнездо, в котором с настройками системы выводится звук обратно на встроенные динамики, затем выйдите из Xcode и симулятора и перезапустите его для меня.

0

Попробуйте подключить наушники с микрофоном и, надеюсь, проблема будет решена. Также перезапустите xcode и симулятор.