Как управлять системным звуком в iOS (html5 + cordova)?

Делаю приложение на phonegap'e для iOS, задача воспроизводить потоковое аудио. Для этих целей используется html5, (с этим все норм) кроме этого нужно из самого приложения управлять системным звуком. Я разобрался с тем как на phonegap'e реализованы плагины и более - менее успешно запилил свой, я могу из js вызвать функцию и она нормально обратиться через класс phonegap'а к системным ресурсам телефона, вот тут-то у меня и наступает ступор. Непонятно что именно отвечает за системную громкость. пробовал так (узнать текущую громкость)
float vol = [[AVAudioSession sharedInstance] outputVolume];
NSLog(@"output volume: %1.2f dB", 20.f*log10f(vol+FLT_MIN));

приходят всегда нули, пробовал прицепятся к AudioServices, MPMusicPlayerController, и всему что нашлось по запросам (нагуглилось откровенно мало) - но пока совершенно безрезультатно, в программировании для яблок я совершенный нуб, прошу дать подсказку в каком направлении рыть.
  • Вопрос задан
  • 2990 просмотров
Решения вопроса 1
deleted-mezhevikin
@deleted-mezhevikin

Не разбираюсь в ваших в фонгапах, но в какаотач делается так:

Добавляем в MediaPlayer.framework в проект, подключаем его в файле:


#import "MediaPlayer/MediaPlayer.h"


// получаем значение
 float volume = [MPMusicPlayerController applicationMusicPlayer].volume;
 
// устанавливаем   
 [[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];

Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@jsom Автор вопроса

супер, все заработало! смущает что у параметра volume

float volume = [MPMusicPlayerController applicationMusicPlayer].volume

судя по докам статус Deprecated для ios7, хотя отдает значение норм, проверил на девайсе. Это чем нибудь грозит в будущем?

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы