Как воспроизводить аудио из потокового видео в фоновом режиме iOS Swift

Хай, я играю в mp3 из потоковой трансляции с помощью MPMoviePlayerController но не работает, когда приложение работает в фоновом режиме. и он перестает играть, когда телефон заблокирован. скажите, пожалуйста, как я могу играть в прямом эфире в фоновом режиме, а телефон заблокирован. предложите мне как можно скорее.

Я использую MPMoviePlayerController вместо AvAudioPlayer . из-за того, что AvAudioPlayer не поддерживает ссылку на сетевую потоковую передачу .

ЗАМЕТКА:

язык – Swift 2.0

ОБНОВЛЕНИЕ 1

Наконец, закодирован с помощью AVPlayer. Но он не воспроизводит мой звук с url. Этот mp3 должен играть в моем приложении. Мой код

 override func viewDidLoad() { audioUrl = NSURL(string: "http://www.raagam.co/4256s5f46ht4he4r6/2016/Achcham%20Enbathu%20Madamaiyada/Thalli%20Pogathey.mp3")! let avAsset = AVURLAsset(URL: audioUrl) let avPlayerItem = AVPlayerItem(asset: avAsset) avPlayer = AVPlayer(playerItem: avPlayerItem) NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.playerItemDidReachEnd), name: AVPlayerItemDidPlayToEndTimeNotification, object: avPlayer.currentItem) avPlayer.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions.New, context: nil) super.viewDidLoad() } override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) { if (object!.isEqual(avPlayer) && keyPath=="status"){ print("Observer") if avPlayer.status == AVPlayerStatus.ReadyToPlay{ print("ReadyToPlay") avPlayer.play(); }else if avPlayer.status == AVPlayerStatus.Failed{ print("Failed") }else if avPlayer.status == AVPlayerStatus.Unknown{ print("Unknown") } } } func playerItemDidReachEnd(){ print("Finished") } 

Я использую этот код здесь

Когда я запускаю этот код. Он печатает ReadyToPlay . Но mp3 не играет.

Вы можете сделать это, включив фоновый звук в панели «Проект»> «Возможности»:

Панель возможностей в Xcode

затем нажмите на игру.

Но вместо MPMoviePlayerController или AVAudioPlayer используйте AVPlayer .

  • Лучшая практика, манипулирующая контекстом Core Data при взаимодействии с пользовательским интерфейсом, одновременно синхронизируя в фоновом режиме
  • UITextField перемещается вверх, когда клавиатура появляется в Swift
  • Программный вызов drawRect () в быстром
  • Несколько файлов podspec в одном репозитории git
  • Как оживить рисование UIBezierPath в быстрых
  • Ошибка Xcode 9.0 не может перетащить значок для выхода
  • scopeButtonTitles всегда ноль
  • Как удалить узел из Firebase из TableView
  • Вниз от String? на «String» только разворачиваются варианты
  • Ошибка установки FirebaseUI pod
  • Разверните только ячейку, которая была удалена
  • Interesting Posts

    Как использовать аргумент отправителя, чтобы выяснить, что выбрал UIImageView?

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

    UICollectionView с NINetworkImageViews повторяет изображения

    строка инициализации для массива символов слишком велика. После установки компиляции источников как Objective-C ++ в Xcode

    Настройка нескольких параметров FSCalendar

    Что это за код вызова веб-службы, что происходит точно?

    tesseract OCR в приложении iphone

    Экспорт или печать автоматических ограничений компоновки из раскадровки iOS

    Средство моделирования основных данных не обновляется при изменении имен сущностей

    Как изменить заголовок Timepicker и локализацию в пользовательском рендерере

    UIAppearance в Статической библиотеке

    создавать каждый раз, когда новый uiviewcontroller или повторно использовать то же самое?

    Обратный вызов iOS не запускается после загрузки файла из $ cordovaCamera

    Обновление UILabels вне экрана, вызывающее их «привязать» назад

    Кордова в iOS 8 и Xcode 6

    Давайте будем гением компьютера.