2013-09-26 5 views
9

До сих пор я использовал MPVolumeView для управления объемом моих устройств iOS, которые отлично работали до обновления до iOS7.MPVolumeView больше не работает на устройствах iOS 7

Я создал тестовый проект (Base SDK 6.1, Deployment Target 5.1), который имеет только один MPVolumeView на одном UIView. Во время запуска этого приложения на моем iPad 1 (iOS 5.1) работает просто отлично, его запуск на моем iPhone 5 (iOS 7) не выполняется.

На моем iPad перетаскивание ползунка объема изменяет громкость всех устройств. Также, когда я использую аппаратные кнопки, это отражается на моем слайдере в VolumeView. На моем iPhone, с другой стороны, кажется, что связь между этими элементами управления больше не существует. Аппаратные кнопки не приводят к каким-либо изменениям в моем VolumeView, и изменение слайдера в результате регулировки громкости на уровне громкости устройств.

Мне нужно иметь, например, iPodMusicPlayer играет что-то, тогда он работает. В противном случае это не так.

Кто-нибудь, как я могу заставить это работать снова? Мне действительно нужно контролировать уровень звука всех устройств (не обязательно программно, пользователь должен иметь возможность изменить его в своем приложении), а не только уровень звука, воспроизводимого самим приложением.

ответ

0

После длительного исследования у меня была поставка ответа здесь. Но я не уверен, попробуйте с этим, если вы получаете какие-либо вопросы, дайте мне знать

Вместо MPVolumeView, вы также можете использовать:

AVAudioPlayer *testPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"m" ofType:@"caf"]] error:nil]; 

    [testPlayer prepareToPlay]; 

перед установкой MPVolumeView.

Если ваше приложение, использующее Audio session, режим AVAudioSessionModeVoiceChat не позволяет работать MPVolumeView без обходного пути.

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

  • Нет связанных вопросов^_^