У меня есть веб-приложение, в котором я воспроизводю видео.
Я рассматриваю возможность использования элемента HTML5
и определила, что он позволит мне удовлетворить все мои требования, кроме одного: , позволяющий пользователю сделать снимок текущего видеокадра и сохранить его в формате растрового изображения (например, JPG).
Для этого требования я не нашел решения, и любые указания по этому вопросу были бы весьма полезны. оценен.
Чтобы помочь ответить на вопрос, вот более подробная информация. Я буду загружать видеофайлы с сервера по HTTP, а затем воспроизводить их в браузере. Это будет не видеопоток, а загрузка с воспроизведением, которое начнется после получения файла. Видео будет в формате MP4 .
Решение необходимо запускать только в IE 9. (Хотя, естественно, я хотел бы, чтобы решение было максимально кроссбраузерным / платформенным. ...
На странице GitHub EJS есть один-единственный простой пример: https://github.com/visionmedia/ejs
Пример
<% if (user) { %>
<%= user.name %>
<% } %>
Похоже, это проверка на существование переменной с именем user, и, если она существует, сделайте что-нибудь. Ага, верно?
У меня вопрос, зачем Node выдает ошибку ReferenceError, если пользовательская переменная не существует? Это делает приведенный выше пример бесполезным. Как лучше всего проверить наличие переменной? Ожидается ли, что я буду использовать механизм try / catch и получить эту ошибку ReferenceError?
ReferenceError: user is not defined
at IncomingMessage.anonymous (eval at (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:140:12))
at IncomingMessage. (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:142:15)
at Object.render (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:177:13)
at ServerResponse.render (/usr/local/lib/node/.npm/express/1.0.7/package/lib/express/view.js:334:22)
at Object. (/Users/me/Dropbox/Projects/myproject/server.js:188:9)
at param (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:146:21)
at pass (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:162:10)
at /usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:152:27
at Object.restrict (/Users/me/Dropbox/Projects/myproject/server.js:94:5)
at param (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:146:21)
Я понимаю, что могу устранить эту ошибку, просто добавив локальную переменную "user" в код моего сервера, но все дело в том, что я хочу проверять наличие таких переменных во время выполнения, используя ваш каждый день if / else шаблон типа nullcheck. Мне кажется смешным исключение для несуществующей переменной. Недавно я обновился до 64-разрядной версии win7 и попытался собрать + выполнить предыдущее приложение. Сборка работает нормально (приложение win32), ...
Первоначально я разработал приложение win32 на 32-битной Win7 с VC9.0. Недавно я обновился до 64-разрядной версии win7 и попытался собрать + выполнить предыдущее приложение.
Сборка работает нормально (приложение win32), но во время выполнения я получаю сообщение об ошибке «[...] завершился с кодом -1073741701 (0xc000007b ). "
Я предполагаю, что это результат загрузки 64-битной версии [предполагаемой] 32-битной dll.
Конкретные зависимости для этого проекта: SDL.lib SDLmain.lib SDL_ttf.lib opengl32.lib glu32.lib wininet.lib
SDL и SDL_ttf есть только в 32-битной версии. Я предполагаю, что Visual Studio достаточно умен, чтобы получить файлы opengl и glu lib в \ syswow64, когда я запрашиваю приложение win32.
Может быть, это из-за wininet? Или я допустил ошибку?
Спасибо,