- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 webos 上,我正在运行 openssh,并且想使用命令行脚本拍照。
我怀疑这将包括一些 luna-send 命令,或者 gst-launch
但是我对这些文档没有任何运气。
webos 没有任何预期的捕获工具,但我可以访问/dev/video0 设备。
编辑:我注意到触摸板安装了 ffmpeg 实用程序,但它无法识别 video4linux2 格式
到目前为止,我正在使用以下代码尝试 Gopherkhan 的建议;
luna-send -n 1 palm://com.palm.mediad.MediaCapture/startImageCapture \
'{"path":"/media/internal/foo1.png","options":[{"quality" \
:100,"flash":2,'reviewDuration':0,'exifData':{}}]}'
但它只是卡在那里什么也不做,过了一会儿就这样说;
{"serviceName":"com.palm.mediad.MediaCapture","returnValue":false,"errorCode":-1 \
,"errorText":"com.palm.mediad.MediaCapture is not running."} \
(process:8534): LunaService-CRITICAL **: AppId msg type: 17
最佳答案
因此,使用 luna-sends 执行此操作有点棘手,并且在技术上不受支持。
您可能想要使用 MediaCapture 库,您可以在此处的设备上找到该库:
/usr/palm/frameworks/enyo/0.10/framework/lib/mediacapture
要将其包含在您的 enyo 应用程序中,请将以下内容放入您的 dependent.js 中:
"$enyo-lib/mediacapture/"
涉及三个主要步骤。
这是一个示例:
声明场景中的组件
{
kind: "enyo.MediaCapture", name:"mediaCaptureObj",
onLoaded:"_setUpLoadedState", onInitialized:"_setUpInitializedState",
onImageCaptureStart:"_onImageCaptureStart", onImageCaptureComplete:"_onImageCaptureComplete",
onAutoFocusComplete:"_onAutoFocusComplete", onError:"_handleError",
onElapsedTime:"_onElapsedTime", onVuData:"_onVuDataChange", onDuration:"_onDuration"
}
调用初始化方法:
this.$.mediaCaptureObj.initialize(this.$.ViewPort);
在 onInitialized 回调中
使用属性包查找可用设备的数量。通常,描述为“相机/摄像机”、“前置麦克风”和“面向用户的相机”
var keyString;
for(var i = 0; i < this.pb.deviceKeys.length; i++)
{
if(this.pb.deviceKeys[i].description.indexOf("Camera/Camcorder") >= 0)
{
keyString = this.pb.deviceKeys[i].deviceUri;
break;
}
}
if(keyString)
{
var formatObj = {
imageCaptureFormat: this.pb[keyString].supportedImageFormats[0]
};
this.$.mediaCaptureObj.load(keyString, formatObj);
}
拍照。
var obj = {"exifData":"{\"make\": \"Palm\", \"model\": \"Pre3\", \"datetime\": \"2011:05:19 10:39:18\", \"orientation\": 1, \"geotag\": {}}","quality":90,"flash":"FLASH_ON"};
this.$.mediaCaptureObj.startImageCapture("", obj);
卸载设备:
this.$.mediaCaptureObj.unload();
要使用旧的 JS 框架执行此操作,请参阅: https://developer.palm.com/content/api/reference/javascript-libraries/media-capture.html
现在,您可以使用 luna-send 执行类似的操作,但同样,我认为它在技术上不受支持。您可能在启动/保持媒体捕获服务事件等方面遇到问题。但是,如果您想尝试,您可以执行以下操作:
<强>1。获取媒体服务器实例 --- 这将返回端口实例号
luna-send -a your.app.id -i palm://com.palm.mediad/service/captureV3 '{"args":["subscribe":true]}'
这将返回捕获服务的位置以及端口号,例如:
{"returnValue":true, "location":"palm://com.palm.mediad.MediaCaptureV3_7839/"}
由于这是订阅,因此不要终止请求。只需打开一个新终端即可。
<强>2。打开一个新终端。使用步骤 1 中返回的“位置”作为您的新服务 URI:
luna-send -a your.app.id -i palm://com.palm.mediad.MediaCaptureV3_7839/load '{"args":["video:1", {"videoCaptureFormat":{"bitrate":2000000,"samplerate":44100,"width":640,"height":480,"mimetype":"video/mp4","codecs":"h264,mp4a.40"},"imageCaptureFormat":{"bitrate":0,"samplerate":1700888,"width":640,"height":480,"mimetype":"image/jpeg","codecs":"jpeg"},"deviceUri":"video:1"}]}'
您应该看到:
{"returnValue":true}
如果调用正确完成。您可以安全地按 ctrl+c 退出此通话。
<强>3。拍下你的照片。(你可以按 ctrl+c 退出最后一次调用,然后在此处提供参数)
luna-send -a your.app.id -i palm://com.palm.mediad.MediaCaptureV3_7839/startImageCapture '{"args":["", {"exifData":"{\"orientation\": 1, \"make\": \"HP\", \"model\": \"TouchPad\", \"datetime\": \"2011:09:22 15:34:36\", \"geotag\": {}}","quality":90,"flash":"FLASH_DISABLED","orientation":"faceup"}]}'
您应该再次看到:
{"returnValue":true}
调用是否正确完成。
您应该听到快门声,然后图像将显示在“照片”应用程序的照片卷中。
关于webos - 如何在 HP 触摸板上使用 webOS 命令行拍照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7509675/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
我安装了 Synaptics 驱动程序,因此我可以手动禁用/启用触摸板。 这是我使用 C# 启用/禁用触摸板的方式: private void Switch_Mouse(int i = 0) // 1
我有QToolButton: btn_ = new QToolButton(this); btn_->setFocusPolicy(Qt::NoFocus); btn_->setAutoRepeat(
我想在内网中将android屏幕用作pc触摸板,所以对于我应该使用哪种协议(protocol)以及如何在 java 中创建 pc 服务器。 帮帮我。谢谢 最佳答案 它非常易于使用。在您的 Intran
我四处看了看,但找不到确凿的答案。是否可以在常规桌面浏览器中检测来自 Macbook 触摸板或其他笔记本电脑触控板的多点触摸手势和事件。 假设我想点击触摸板然后滚动(一种拖动滚动),但只有当有额外的手
在我的 libGDX 项目中,我想使用触摸板在屏幕上移动玩家。那已经有效了。现在我想沿着玩家移动的方向旋转玩家的“脸”。我已经用这段小代码尝试过,但我并没有真正工作 double degree; de
我正在尝试使用 TFT 触摸板构建菜单。现在我的问题是我无法在循环函数中绘制任何东西。 如果我在循环中编写任何绘制函数,屏幕就会变白。我认为这是因为屏幕需要一些时间来建立。所以我添加了一个延迟(100
我正在执行 Javascript onScroll。我的代码适用于任何普通计算机鼠标,但是当我使用笔记本的触摸板时,我遇到以下情况: 当手指移动滚轮时,我的鼠标会触发(大约 1 到 8 次)mouse
我有一个 Android 应用程序,我将移植到 Google Glass。 如何在我的 Android/Java 代码中以编程方式获取触摸板输入(用手指触摸框架的一侧)? 最佳答案 我错了吗,还是 G
我是一名优秀的程序员,十分优秀!