Я пытаюсь найти способ приостановить любое воспроизведение мультимедиа на устройстве, поэтому я думал о срабатывании той же логики, которая срабатывает, когда пользователь нажимает «среднюю кнопку» наушников
Мне удалосьпредотвратить возобновление музыки (после того, как я приостановил ее в своем приложении, которое в основном запускает AVAudioSession для записи), НЕ устанавливая активное свойство AVAudioSession в false и оставляя его зависшим, но я совершенно уверен, что это плохой способ сделать это. Если я отключу его, музыка возобновится. Другой вариант, о котором я думаю, - это воспроизведение некой замкнутой петли, которая бы «имитировала» тишину, которая мне нужна. Но я думаю, что если то, что я ищу, выполнимо, это будет лучший подход, как я понял из этого вопроса , это нельзя сделать, используя обычные средства
func stopAudioSession() {
let audioSession = AVAudioSession.sharedInstance(
do {
if audioSession.secondaryAudioShouldBeSilencedHint{
print("someone is playing....")
}
try audioSession.setActive(false, options: .notifyOthersOnDeactivation)
isSessionActive = false
} catch let error as NSError {
print("Unable to deactivate audio session: \(error.localizedDescription)")
print("retying.......")
}
}
В этом фрагменте кодапоскольку имя функции подразумевает, что я установил active в false, попытался найти другие варианты, но я не мог найти другой способ остановить мой сеанс записи и предотвратить возобновление другого приложения, которое уже играло
Если кто-то может мне помочьв какую библиотеку мне нужно посмотреть, если, например, я могу нажать на H / W часть и запустить ее ИЛИ если я могу узнать, какая библиотека слушает событие нажатия кнопки и обрабатывает функцию паузы / воспроизведения