Включите аудиофункцию в вашем приложении, когда ваше устройство iPhone находится в режиме без звука / вибрации - PullRequest
0 голосов
/ 27 марта 2020

Я встроил видеоплеер и столкнулся с проблемой при воспроизведении аудио или видео, т. Е. Звук отключен, если ваше устройство находится в режиме без звука или в режиме вибрации.

Это настройки конфигурации по умолчанию для IOS Устройство от AVFoundation / AVKIt или Apple.

Я искал на сайте разработчика Apple и различные решения на Stackoverflow для включения устройства в режим звонка или Написание кода на вашем контроллере view-класса класса.

Но если у нас есть номера классов, которые используют функциональность Audio Video, мы должны снова и снова писать один и тот же код на каждом контроллере представления. Я думаю, что это не очень хорошая практика.

Так что здесь я делюсь оптимизированным способом достижения желаемого результата, т. Е. Включения звука, в случае устройства, находится ли оно в бесшумном режиме или вибрирует. режим.

1 Ответ

0 голосов
/ 27 марта 2020

Вот только простые шаги, чтобы включить аудио функциональность, когда ваше устройство находится в беззвучном или вибрирующем режиме во всем приложении, просто объявив сразу.

Протестировано на iPhone 6, iPhone 8, iPhone XR и симуляторах.

Шаг 1: Откройте файл класса AppDelegate.swift.

Шаг 2 : Go для функции applicationDidBecomeActive.

Шаг 3. Введите приведенный ниже код в функцию applicationDidBecomeActive

  • В Swift 5:

    do {
             try AVAudioSession.sharedInstance().setCategory(.playback)
       } catch(let error) {
             print(error.localizedDescription)
       }
    
  • В Swift 4 или ниже:

       do {
             try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
          } catch {
              // error handling or perform your desire function
          }
    
  • В объективе C:

         [[AVAudioSession sharedInstance]
          setCategory: AVAudioSessionCategoryPlayback
          error: nil];
    

Шаг 4: Скомпилируйте и запустите ваш проект.

Ура !!!

Рад помочь. Спасибо.

...