2015-12-12 2 views
0

Я имею в виде https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status.html#a45e3eb39e674f5d0dbfd78deef77a1e6прибудет mediaSessionID для текущего средства массовой информации играет на хромированной гипсе в Swift на прошивке

, который помогает мне с апи, но инициализатор для класса GCKMediaStatus говорит: - (instancetype) initWithSessionID: (NSInteger) mediaSessionID mediaInformation: (GCKMediaInformation *) mediaInformation

примечание: это в Objective-C синтаксисом, но Swift работает точно так же, за исключением Swift языка ...

Тем не менее я не могу понять как получить m ediaSessionID, чтобы иметь возможность инициализировать экземпляр этого класса для новой переменной.

Я пытаюсь сделать следующее, чтобы получить меня в конце концов к методу в этом классе под названием streamPosition, который будет идти, как это:

var mediaStatus = GCKMediaStatus(sessionID: Int, mediaInformation: GCKMediaInformation!) 
    var currentStreamPosition = mediaStatus.streamPosition() 

где Int будет в mediaSessionID НЕ SESSIONID хромового гипса (читайте дополнительный раздел ниже!) и GCKMediaInformation! будет экземпляром класса GCKMediaInformation. (Я думаю) исправьте меня, если я ошибаюсь ни по одному из этих параметров.

Тогда я мог бы использовать эти данные. Но когда я делаю это, currentStreamPosition, я полагаю, по умолчанию 0, и это то, что я получаю, когда печатаю текущую переменную currentStreamPosition.

Примечание: я уже подключен к текущему воспроизводимому носителю, и я могу приостановить, воспроизвести и искать произвольное число в потоке. Все это работает. Итак, теперь я подключен, и все остальное работает.

прецедент: я хочу пропустить 15 секунд или перемотать 15 секунд и т. Д. С использованием этого метода, но я не нашел ничего, чтобы помочь.

также - не получаю sessionID путать с mediaSessionID !! Я могу получить sessionID успешно и распечатать его. Моя проблема связана с mediaSessionID.

Дополнительная информация: автозаполнения Xcode говорит, что это параметры, помеченные имена:

GCKMediaStatus(sessionID: Int, mediaInformation: GCKMediaInformation!) 

примечания первый параметр говорит SESSIONID и имеет типа междунар. Но на https://developers.google.com/cast/docs/ios_sender, если вы заметили sessionID имеет тип String! (необязательная строка).

Я думаю, что эта метка была неправильно названа в Xcode для автозаполнения. Я думаю, что его следует называть mediaSessionID и NOT sessionID, так как это то, что документация показывает в первой ссылке, которую я предоставил.

Любая помощь будет высоко оценена.

Спасибо!

+0

Кажется, у вас уже есть ссылка на GCKMediaControlChannel (который, предположительно, используется для воспроизведения/паузы/... носителя). Если это так, то вы можете получить ссылку на GCKMediaStatus через свойство mediaStatus GCKMediaControlChannel. Это то, что вы хотите получить? –

+0

@AliNaddaf очень умный ... вы правы, но когда я делаю mediaControlChannel! .pause() <-, который работает тогда: var temp = mediaStatus ?.streamPosition «temp» ничтожно, поэтому я не инициализирую правильно, я думаю. Я не уверен –

+0

Предлагаю вам внимательно посмотреть пример приложения CastVideos-ios (https://github.com/googlecast/CastVideos-ios), чтобы узнать, как это происходит. –

ответ

0

Чтобы получить позицию по потоку, используйте метод approximateStreamPosition на GCKMediaControlChannel.

+0

Это сработало. Спасибо! Очень странно, я не мог использовать streamPosition –

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