Звук и вибрация работают в симуляторе не на устройстве ios - PullRequest
0 голосов
/ 09 октября 2011

Во-первых, я довольно новичок с целью С. Я хочу играть звук и вибрировать при определенных условиях. Мой iPhone 4 не отключен, я проверил чувствительность к регистру и использовал AVAudioPlay и SystemSound, чтобы попытаться воспроизвести файл, но даже вибрация не будет работать. AudioToobox и AVfoundation импортируются в .h. Звук воспроизводится обоими способами на симуляторе iOS.

Вот код, использующий SystemSound:

if (al == 1){
CFBundleRef mainBundle = CFBundleGetMainBundle();
        CFURLRef soundFileURLRef;
        soundFileURLRef =CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Alarm", CFSTR ("wav"), NULL);
        UInt32 soundID;
        AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
        AudioServicesPlaySystemSound(soundID);
        AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);}

И с AVAudioPlayer:

if (al == 1) {NSString *path = [[NSBundle mainBundle] pathForResource:@"alarmtwo" ofType:@"wav"];
        AVAudioPlayer *theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];        
        theAudio.numberOfLoops = 0;
        theAudio.volume = 1.5;
        [theAudio prepareToPlay];
        [theAudio play];}

Кстати, переменная al устанавливается в 0 после воспроизведения. Моя кодировка неверна, чтобы звук и вибрация работали на самом устройстве? Есть ли определенный тип .wav-файлов, которые необходимо воспроизвести? Любая помощь будет оценена.

1 Ответ

2 голосов
/ 15 октября 2011

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

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

...