2016-01-29 4 views
0

У меня есть проект, где требуется воспроизведение звука, когда телефон находится в бесшумном режиме. Это было возможно в более ранних версиях iOS, но это не в iOS 8 или новее, используя стандартные API.Воспроизведение звука при бесшумном

Я теперь ищу возможность сделать это с помощью частного API, я просмотрел файлы заголовков, но я не нашел правильный. Я бы предположил, что такой API существует, но я не знаю, что. Любые предложения приветствуются.

Обратите внимание, что решения, отображающие кнопку воспроизведения и паузы, неприемлемы. Также обратите внимание, что я ищу частный API, и я знаю обо всех проблемах, связанных с тем, что я использую частные API. Кроме того, воспроизведение звука, когда пользователь установил тихий переключатель в положение, может вызвать у пользователей сердитость в некоторых случаях, но в этом случае они будут сердиться, если нет звука (думаю, будильник).

РЕДАКТИРОВАТЬ: Вам нужно будет сделать это из фона, например, при получении push-уведомления.

ответ

1

Вы не указали язык, поэтому я просто использую Swift. Код не очень хорошо защищены, но в основном вам нужно установить категорию в AVAudioSession Синглтон к AVAudioSessionCategoryPlayback:

try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 

// Then just play the file 
guard let soundPath = NSBundle.mainBundle().pathForResource("sound", ofType: "wav") else { 
    // bad path 
    return 
} 

var soundFile = NSURL.fileURLWithPath(soundPath) 

// Instance variable 
player = try AVAudioPlayer(contentsOfURL: soundFile) 
player.play() 
+0

Спасибо за ответ. 2 вопроса. Я уже установил аудиозапись в AVAudioSessionCategoryPlayAndRecord для других целей. Думаю, я не могу сделать AVAudioSessionCategoryPlayAndRecord | AVAudioSessionCategoryPlayback? Второй вопрос: разве это не показало бы кнопки воспроизведения и паузы? Я также забыл упомянуть, что мне нужно сделать это из фона. –

+0

1. Нет, вы не можете этого сделать, поскольку это всего лишь строка. Но вы, возможно, можете изменить, какую категорию он использует, в зависимости от ближайших потребностей? Не уверен, что ваш конкретный вариант использования. - - - 2. Ни в одном из моих тестов. С помощью слайд-меню оно не работает даже при паузе. – Firo

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