2011-01-14 4 views
8

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

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

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

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

Заранее благодарим за помощь!

+0

Привет, Вик, у вас есть решение для этого, так как я также сталкиваюсь с той же проблемой с MPMusicPlayerController & AVAudioPlayer. –

+0

Нет, я реализовал «ducking», но это решение не является поведением, которое я или мои пользователи ... – Vic320

ответ

1

Это может быть связано с указанной вами категорией аудиозаписей. Проверьте Audio Session Programming Guide, чтобы узнать, выбрали ли вы подходящую категорию.

+0

Эта документация не помогла. Единственное, что я могу сделать, это реализовать «ducking», который я сделал, но это не то, что я, или мои пользователи хотят ... – Vic320

+0

Какую категорию аудиосеансов вы используете? – jdmunro

+0

Я использую категорию: kAudioSessionCategory_MediaPlayback. – Vic320

0

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

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

+0

Я не пытаюсь переопределить регулятор громкости боковой кнопки. Я пытаюсь снизить объем приложения iPod относительно объема моего приложения.Однако, когда я понижаю объем iPod-приложения, он также снижает объем моего приложения. Все уровни громкости находятся на уровне или ниже уровня громкости, заданного кнопками. – Vic320

0

вы можете установить громкость для конкретных образцов или звуков с помощью AVItem в SetVolume

[пункт SetVolume]

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

AVItem * item [[AVItem alloc] initWithPath: @ "file"]; [item setVolume];

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

+0

Это не работает. Даже если я установил том на 100% (1.0), он все равно никогда не будет выше, чем установлен том для iPod. Я не понимаю, почему настройка громкости iPod должна влиять на объем моего приложения. Конечно, я ожидаю, что объем моего приложения не будет превышать уровень мастер-громкости. Интересно, делает ли Apple основной том таким же, как объем iPod ... – Vic320

+0

Вы используете AVAudioPlayer? – luca590

+0

Если нет, вы можете подумать. Потому что thats в том же API, что и [setVolume], поэтому, вероятно, будет работать намного лучше. – luca590

Смежные вопросы