Уровень громкости iPod влияет на уровень громкости приложения - PullRequest
8 голосов
/ 14 января 2011

Я пишу приложение для iPad, которое использует механизм преобразования текста в речь «Flite» для объявления конкретных событий. Движок Flite использует экземпляр AVAudioPlayer для воспроизведения речевого аудио после рендеринга. Ради интереса я решил добавить несколько простых элементов управления в свое приложение, чтобы позволить пользователю управлять воспроизведением на iPod (далее, prev, play / pause и громкость - основы), пока мое приложение работает с использованием MPMusicPlayerController (конечно).

Проблема, с которой я столкнулся, заключается в том, что когда я настраиваю громкость iPod с помощью MPMusicPlayerController, это затрагивает весь мой звук, включая другие звуковые эффекты и речевой звук. Я установил громкость для этих других аудиоплееров (экземпляры AVAudioPlayer) до 1,0, прежде чем воспроизводить звук, но кажется, что громкость всегда ограничена при любой громкости проигрывателя iPod, установленной на ...

Это нормально? И что я могу сделать, чтобы обойти это? Я хочу, чтобы звук моего приложения воспроизводился на полной громкости системы независимо от уровня громкости проигрывателя iPod. (Пример: пользователь установил системную громкость на 80% от максимального значения устройства. Я хочу, чтобы мое приложение воспроизводило аудио на уровне 100% от этих 80%, в то же время позволяя пользователю настроить воспроизведение звука iPod на 0-100% от этих 80 %.) Примечание. Меня не интересует "приглушение", но установка громкости iPod все время ниже, когда мое приложение работает (фоновая музыка).

У меня также есть проблема: иногда, когда вы впервые запускаете приложение и нажимаете кнопку воспроизведения на плеере iPod (который посылает вызов [player play]), iPod не отвечает. Если я нажимаю кнопку «Домой», захожу в приложение iPod и запускаю воспроизведение, а затем, вернувшись в свое приложение, работает нормально. Что с этим делать?

Заранее спасибо за любую помощь!

Ответы [ 3 ]

1 голос
/ 22 февраля 2011

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

0 голосов
/ 27 марта 2011

Вы можете установить громкость для определенных сэмплов или звуков, используя setVolume AVItem

[пункт setVolume]

Вы можете создать AVItem для ссылки на существующий звуковой файл в вашем приложении или на iphone. Код довольно прост и выглядит так ->

AVItem * item [[AVItem alloc] initWithPath: @ "файл"]; [item setVolume];

Кстати, это не повлияет на остальную часть аудиоканала (создается каким-то объектом AVController), и громкость, установленная в вашем коде, не будет отображаться на экране, поэтому я не уверен, что вы можете изменить его. во время выполнения.

0 голосов
/ 22 февраля 2011

Кнопки регулировки громкости на боковой стороне регулируют громкость системы и, соответственно, громкость звуков вашего приложения.

Я полагаю, это считается основным регулятором громкости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...