Я пишу приложение для iOS, которое использует хромкаст для создания серии изображений. Когда пользователь нажимает на правый край текущего изображения, приложение отображает следующее изображение, а следующее изображение отображается на большом экране. Однако, если пользователь нажимает достаточно быстро и вызывает третье изображение до того, как второе изображение появится на большом экране, второе изображение, как только оно появится, останется там, даже если третье изображение появится на устройстве. Из SDK Google Cast видно, что все запросы на кастинг поставлены в очередь, а третий должен появиться автоматически. Значит ли это, что я должен вручную ставить запросы в очередь на стороне отправителя?
Chromecast - блокировать loadMedia до тех пор, пока не вернется предыдущий
Ответы (1)
Я предполагаю, что ваши изображения доступны на сервере (который также может быть вашим телефоном). Какой ресивер вы используете? Какого поведения вы ожидаете? Если, например, вам нужно увидеть все изображения, независимо от того, как быстро вы их транслируете, ваш приемник должен поставить в очередь URL-адреса изображений, а когда они полностью загружены, загрузить следующее и т. д. Если вы ожидаете пропустить предыдущее images, если создается новый, ваш получатель должен отбрасывать предыдущие запросы, как только поступает новый.
Вы также можете поставить их в очередь на стороне отправителя (особенно для первого сценария), и ваш отправитель должен слушать «изображение полностью загружено, поэтому отправьте следующее), но это не оптимально, поскольку
- ваше приложение создает лучший опыт, если следующее изображение загружается за кадром на приемник, пока отображается первое, чтобы оно могло быстро перейти к следующему и
- Вероятно, вы хотите создать впечатление, что если вы поставите несколько фотографий в очередь, ваше приложение сможет воспроизвести их на телевизоре, даже если ваш телефон отключится (актуально только в том случае, если изображения обслуживаются с отдельного сервера).
Еще один фактор, который следует учитывать, — это то, что вы ожидаете, если второе устройство будет подключено к вашему Chromecsst, пока первое транслирует; хотите ли вы, чтобы второй мог «участвовать» в деятельности и снимать роли, а или нет.
Несмотря на это, в нашем репозитории github есть пример кода, который показывает простой плейлист для видео (в очереди на ресивере).
GCKMediaControlChannel
для loadMedia:
сказано, что он загружается, ставится в очередь (в конце очереди) и, при необходимости, запускает воспроизведение нового элемента мультимедиа. К чему относится эта очередь?
- person ljiatu; 30.03.2014