2015-01-09 4 views
2

Я пытаюсь создать пользовательскую клавиатуру для iOS 8, чтобы пользовательский звук воспроизведения при нажатии клавиши. Я использую AVAudioPlayer и небольшие mp3-файлы.iOS 8 Пользовательская клавиатура, которая воспроизводит звуки

Это прекрасно работает в симуляторе, но на реальном устройстве я не получаю никаких звуков.

RequestOpenAccess включен.

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

Редактировать: Я также пробовал использовать .caf и .aiff файлы и загружать их и играть с ними с помощью SystemSoundID.

+0

Есть ли у вас какие-либо ошибки или предупреждения в консоли при попытке воспроизведения звука? – LastMove

+0

Нет, ничего. Это просто безмолвие. Это похоже на звуковые нагрузки, но не может воспроизводиться, потому что приложение замораживается примерно в то же время, что и длина аудио. –

+0

Если приложение замерзает, возможно, вы можете использовать инструменты Xcode, такие как Time profiler, чтобы увидеть, каким способом приложение замерзает. – LastMove

ответ

2

Этот фрагмент воспроизводит пользовательский звук в моем проекте с клавиатурой.

NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"your_custom_sound" 
                 ofType:@"mp3"]; 
SystemSoundID soundID; 
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath: soundPath], &soundID); 
AudioServicesPlaySystemSound (soundID); 

Цитируется из:

How to play tock sound when tapping custom keyboard buttons

+0

У вас была проблема с производительностью при воспроизведении звуков? –

+0

Нет проблем с производительностью. Кстати, размер звукового файла составляет 8 КБ в моем проекте. – merge

0

Я уверен, что это не ваш случай, но часто бывает так, что звук на устройстве отключен. Я сделал ошибку, ища час, почему звук не работает. Если бы это было возможно, это было бы быстрым решением;)

+0

Желание было так просто. :) Я даже убедился, что у меня есть звук щелчка по умолчанию для встроенной клавиатуры, и здесь это просто отлично. –