DirectShow GetEvent 参数含义
DirectShow 的 GetEvent 方法用于获取事件通知。其参数的含义如下:
pEvent
: 指向IMediaEvent
接口的指针,该接口用于处理 DirectShow 事件。dwFlags
: 用于指定获取事件的方式。可以是以下值之一:0
: 获取下一个事件。EVENTCAUSE_WAITEVENT
: 等待事件的发生。EVENTCAUSE_TIMEOUT
: 指定等待事件的超时时间。
pvValue1
: 用于返回事件的第一个参数值。pvValue2
: 用于返回事件的第二个参数值。
在使用 GetEvent 方法时,可以通过设置 dwFlags
参数的值来控制获取事件的方式。如果设置为 0,则直接获取下一个事件,如果设置为 EVENTCAUSE_WAITEVENT
,则会等待事件的发生,直到有事件发生才返回;如果设置为 EVENTCAUSE_TIMEOUT
,则会等待一定的超时时间,如果在超时时间内没有事件发生,则返回超时错误。
获取事件后,可以通过 pvValue1
和 pvValue2
参数来获取事件的参数值。这些参数值的含义和取值范围,取决于不同的事件类型。
DirectShow GetEvent 怎么确定是哪个设备发出的事件
DirectShow GetEvent 函数可以获取 DirectShow 中的事件,但是不能直接确定是哪个设备发出的事件。要判断是哪个设备发出的事件,可以根据 DirectShow 中的 Filter Graph 构建情况来确定。在 DirectShow 中,Filter Graph 中的每个 Filter 都代表一个设备或者一个处理器,每个 Filter 都可以发出事件。因此,当获取到事件后,可以遍历 Filter Graph 中的每个 Filter,判断每个 Filter 是否发出了该事件,从而确定是哪个设备发出的事件。
getevent 打出坐标
getevent 是一个Linux系统下的命令行工具,用于监控和记录设备事件(如触摸屏、按键等)。在使用getevent时,可以通过解析其输出数据来获取设备的坐标信息。以下是一个简单的步骤,帮助你使用getevent打出坐标:
连接设备并获取root权限:首先,确保你的设备已经连接到电脑上,并且你已经获取了设备的root权限。
运行getevent命令:在终端中输入以下命令来监控设备事件:
adb shell getevent
记录事件:在设备上执行你想要记录的操作(如触摸屏幕),然后观察终端中的输出。你会看到类似以下的信息:
/dev/input/eventX: 0003 0039 value /dev/input/eventX: 0003 0035 x /dev/input/eventX: 0003 0036 y /dev/input/eventX: 0003 003a value /dev/input/eventX: 0000 0000 0000
解析坐标:从输出中提取
0035
和0036
事件对应的值,这些值分别代表x和y坐标。
以下是一个示例脚本,用于自动解析getevent的输出并打印坐标:
adb shell getevent -l | grep --line-buffered "EV_ABS" | grep --line-buffered "ABS_MT_POSITION" | while read line; do
if [[ $line == *ABS_MT_POSITION_X* ]]; then
x=$(echo $line | awk '{print $3}')
elif [[ $line == *ABS_MT_POSITION_Y* ]]; then
y=$(echo $line | awk '{print $3}')
echo "Coordinates: x=$x, y=$y"
fi
done
这个脚本会实时输出触摸事件的坐标。
相关推荐
















