Как я могу получить текущее время фонового звука? (iOS)

У меня есть аудиоприложение. Для прослушивания звука я использую AVFoundationFramework и делаю это в фоновом режиме с информацией от MPNowPlayingInfoCenter. Если пользователь переходит на другой экран, воспроизводится звук. Я хочу показать ему информацию о воспроизведении звука на этом новом экране. Самая большая проблема — это получение текущего времени воспроизведения фонового звука. Как я могу его получить?

P.S.: Продолжительность аудио в основном равна одному часу.

P.P.S.: Буду рад получить ответ на любом языке (obj-c/Swift)

РЕДАКТИРОВАТЬ: в удаленном центре iOS отображается правдивая информация, мне просто нужно получить ее в коде... скриншот: http://postimg.org/image/9lv60eb1n/


person mike    schedule 20.02.2016    source источник


Ответы (2)


Вы можете получить текущее время аудио с помощью

MPNowPlayingInfoPropertyElapsedPlaybackTime

например что-то вроде

if let nowPlayingInfoDict = MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo
{
    let elapsedTimeString = nowPlayingInfoDict["MPNowPlayingInfoPropertyElapsedPlaybackTime"]
}

где значение представляет собой NSNumber, представляющее количество секунд, сыгранных в элементе до сих пор.

person Michael Dautermann    schedule 20.02.2016
comment
есть ли у вас словарь (и если да, то какие ключи и значения вы там видите)? - person Michael Dautermann; 20.02.2016
comment
у меня есть словарь, который включает всю информацию, которую я пишу в MPNowPlayingInfoCenter: заголовок, имя и т. д., но ElapsedPlaybackTime равен NULL - person mike; 20.02.2016
comment
О, вы воспроизводите локальный файл или какую-то потоковую передачу с удаленного сайта (в этом случае нет фиксированной продолжительности)? - person Michael Dautermann; 20.02.2016
comment
онлайн и офлайн. в обоих случаях я знаю продолжительность и текущее время для AVPlayer, но для фонового звука не работает в обоих случаях - person mike; 20.02.2016
comment
в удаленном центре iOS отображается правдивая информация, мне просто нужно получить ее в коде... скриншот: postimg.org/image /9lv60eb1n - person mike; 20.02.2016

Я до сих пор не знаю, как это сделать (получить информацию из удаленного центра), но я решил это с помощью синглтона для аудиоплеера.

person mike    schedule 23.02.2016