Моя команда хакатона работала последние 12 часов, чтобы использовать Google Glass и Mirror API для воспроизведения видео, в частности, с использованием библиотеки PHP.
Мы пытались прикрепить видео к элементу временной шкалы и пытались использовать параметр пакета, но ни один из них не будет передавать видео.
У меня нет сообщения об ошибке для отображения, и код, насколько мы видим, правильный, основанный на документации Google.
Еще немного деталей:
- Мы используем API для доступа к видео, размещенному на AWS.
- Мы также протестировали использование видео, размещенных на других сайтах, а также видео меньшего размера (тот, который мы стремимся использовать, имеет размер 20+ МБ).
Если кто-то может предложить некоторые рекомендации, мы будем очень признательны! Спасибо!
РЕДАКТИРОВАТЬ
Это структура кода, которую мы используем, прямо из библиотеки PHP:
function insertAttachment($service, $itemId, $contentType, $attachment) {
try {
$params = array(
'data' => $attachment,
'mimeType' => $contentType,
'uploadType' => 'media');
return $service->timeline_attachments->insert($itemId, $params);
} catch (Exception $e) {
print 'An error ocurred: ' . $e->getMessage();
return null;
}
}
И вот последняя итерация попытки запустить видео в потоковом режиме:
$bundle_view = $app->view();
$bundle_view->appendData(array('total' => count($response['search']), 'video'=>$response['search'][0]));
$bundle_html = $app->view()->fetch('bundle_home.twig');
$new_timeline_item = new Google_TimelineItem();
$new_timeline_item->setHtml($bundle_html);
//$new_timeline_item->setBundleId($response['search'][0]['id']);
$new_timeline_item->isBundleCover = 'true';
$notification = new Google_NotificationConfig();
$notification->setLevel("DEFAULT");
$new_timeline_item->setNotification($notification);
$post_result = insert_timeline_item($mirror_service, $new_timeline_item, null, null);
error_log(print_r($post_result->getId(), true));
$new_timeline_item->setHtmlPages("<article><section> <video src='http://www.w3schools.com/html/movie.mp4' controls> </section></article>");
/**
foreach ($response['search'] as $video) {
$item = $video['videos'][0];
$v_item = new Google_MediaFileUpload('video/vnd.google-glass.stream-url', $item, true);
$params = array(
'data' => $v_item,
'mimeType' => 'video/*',
'uploadType' => 'resumable');
$mirror_service->timeline_attachments->insert($post_result->getId(), $params);
}
**/
insert_timeline_item($mirror_service, $new_timeline_item, null, null);
Может быть проще читать в Gist: https://gist.github.com/kgardnr/1f2ce243f91cedaf9c92