可能是android中hdmi支持的副本.
我正在研究XYZ视频加密app.But还需要管理hdmi以克服加密的视频陷阱.
根据我的搜索,我发现这些不在官方文档中,并且由特定供应商Api提供,如摩托罗拉.
我已经进行了很多探索,发现这些都是供应商特定的,没有独特的api或文档来满足所有设备的需求.
我的设备是:
Creative ziio 7 OS:2.2.1版本号:v2.00.13-FROYO.
但请通过谷歌白皮书或您的个人经验建议并回答以下问题:
如果某个Android设备具有hdmi硬件支持,那么我们如何以编程方式检测它.
如果设备支持硬件.然后,如果连接到hdmi我的应用程序需要通知有关.
(比如使用接收器等).
我也无法将Creative ziio 7中的hdmi与hdmi电缆(AWM 1.3电缆)连接到我的hp notebook pro笔记本电脑
我注意到某些供应商提供像MOTOROLA 这样的hdmi api http://developer.motorola.com/docs/motorola-hdmi-status-api/
我们还可以使用在所有设备中检测USB插头状态
<action android:name="android.intent.action.ums_connected" />
Run Code Online (Sandbox Code Playgroud)
那么hdmi还有什么办法吗?但是需要有一个通用的概念来为所有设备做同样的事情.
我有一个MK809,并希望发送HDMI CEC命令来打开/关闭设备所连接的电视.是否有方法或库发送CEC命令,因为我无法在任何地方看到任何记录?
我们遇到HDMI服务问题.我们的Android TV应用程序在STB上设置为默认值.启动STB时,它不会显示启动器,它会立即显示应用程序,播放HLS视频流.对于播放视频,我们使用Exo Player版本2.6.1和Exo Media包装器版本4.1.0.当STB在睡眠后醒来时,我们会一次调查黑屏 - DPAD打开电源.播放列表我们在这种情况下得到的是工作和切换到另一个的渠道很好.此问题通常在同一用户处生成.
这是我们从屏幕为黑色时获取的日志(URL_TEST是我们的播放列表请求):
09-06 19:21:40.018 I/PowerManagerService( 369): Waking up from sleep...
09-06 19:21:40.018 I/WindowManager( 369): No lock screen!
09-06 19:21:40.038 I/AudioHardwareALSA( 104): AudioHardwareALSA::setParameters() screen_state=on
09-06 19:21:40.038 I/qtaguid ( 369): Failed write_ctrl(s 1 10056) res=-1 errno=1
09-06 19:21:40.038 W/NetworkManagementSocketTagger( 369): setKernelCountSet(10056, 1) failed with errno -1
09-06 19:21:40.078 D/LightsService( 369): Excessive delay setting light: 54ms
09-06 19:21:41.018 W/SurfaceFlinger( 101): Timed out waiting for hw vsync; faking it
09-06 19:21:41.158 W/OkHttp ( 682): previous …
Run Code Online (Sandbox Code Playgroud) 我正在使用Minix NEO X8-H(Android媒体中心,4.4.2),我需要向电视发送HDMI-CEC命令:当我的应用程序接到电话时,我想自动将电视源更改为Minix hdmi资源.
实际上,Minix提供了一些启用HDMI-CEC的选项,据报道媒体中心软件XBMC支持CEC.但我只想在"接收模式"中:用户可以使用电视遥控器命令Android设备.我想以相反的方式工作.我浏览了XBMC的源代码,我发现了非常有趣的代码,但不知道它是否对我有用.
我找到了获得HDMI-CEC输入命令的串行设备
/dev/input/event7
Run Code Online (Sandbox Code Playgroud)
内核引用放在:"/ sys/devices/virtual/input/input7 /"
# cat /sys/devices/virtual/input/input7/name
cec_input
Run Code Online (Sandbox Code Playgroud)
这是dmesg日志的一部分:
<5>[ 0.000000@0] Kernel command line: init=/init console=ttyS0,115200n8 no_console_suspend storage=5 cvbsdrv=0 vdaccfg=0xa007 logo=osd1,loaded,0x15100000,4k2ksmpte,full hdmimode=4k2ksmpte cvbsmode=576cvbs androidboot.firstboot=0 hdmitx=cec0
<4>[ 0.000000@0] kernel get hdmimode form uboot is 4k2ksmpte
<4>[ 0.000000@0] hdmitx: cec: Function List: disable, , ,
<4>[ 0.000000@0] hdmitx: cec: HDMI aml_read_reg32(P_AO_DEBUG_REG0):0x0
<4>[ 0.000000@0] hdmitx: cec: HDMI hdmi_cec_func_config:0x0
<4>[ 1.392440@1] hdmitx: cec: CEC not ready
<4>[ 4.872752@0] hdmitx: cec: CEC init
<4>[ 4.876194@1] hdmitx: cec: CEC …
Run Code Online (Sandbox Code Playgroud) 我需要检测HDMI设备是否已连接到我的Android设备.为此,我正在使用BroadcastReceiver,它也能够检测到.但是使用BroadcastReceiver,即使在我的应用程序启动之前,我也无法处理连接HDMI设备的情况.在这种情况下,BroadcastReceiver无法找到是否连接了任何HDMI设备.有什么方法可以让我知道是否有任何HDMI设备连接?
我的一个Android项目需要不时地在2个HDMI输入之间切换,可能每分钟一次.一个HDMI输入来自Android设备的HDMI输出,一个来自外部无法控制的来源.
我找到了一个HDMI开关,当信号可用时,它会在两个信号源之间自动切换.我的问题是,有没有办法临时(例如一分钟)切断我的Android设备的HDMI输出,以便开关可以自动使用第二个HDMI输入?然后,我需要恢复HDMI输出,以便开关显示我的设备的HDMI输出.
我发现了这个问题,但我不确定是否需要禁用HDMI输出,而是以某种方式重定向显示器并在1分钟后恢复.
UPDATE
我想开始一个赏金,所以我会稍微澄清一下我的要求:我有一个带2个端口的支持HDMI的电视.我的android设备连接在端口1上,另一个设备连接在端口2上.电视自动切换到下一个有信号的HDMI端口.
例如,如果HDMI1和HDMI2有信号,我将电视放在HDMI1上.当第一个设备"关闭"其HDMI输出时,电视将切换到HDMI2.一段时间(5分钟)后,第一个设备"重新打开"HDMI1(意味着第一个设备启用其HDMI输出),第二个设备"关闭"其HDMI输出,以便电视切换回HDMI1.这样我可以制作混合视频.
我面临的技术难题是如何控制Android系统中的HDMI输出.我的Android设备只有HDMI接口用于显示,它没有专用的屏幕.
唯一足够接近我需要的东西是这个SO帖子,但它对我的情况并没有真正的帮助.
我的目标是将HDMI输入视频发送到Rasberry Pi,然后改变输入HDMI(通过C/C++或Java进行图像处理)并将其发送回HDMI输出端口.
问题是Rasberry Pi只有HDMI输出端口,因此没有使用扩展板就无法发送HDMI.
1)我找到了一个试图提供扩展板的启动项目,但是这还没有资金
2)我遇到了这款带有HDMI输入的Rasberry Pi x100扩展板
问题是,我可以以编程方式检测和拦截x100上的HDMI输入端口,而不是将更改的数据发送到实际PI上的常规HDMI输出吗?
请善意提供详细的方法.
谢谢
我有cec-client在我的覆盆子pi上运行,我可以在索尼电视上切换活动源HDMI 1 - 4:
echo "tx 4F 82 10 00" | cec-client -s
echo "tx 4F 82 40 00" | cec-client -s
Run Code Online (Sandbox Code Playgroud)
我无法实现的是切换回电视作为活动源.由于电视通常具有ID 0.0.0.0,我希望以下命令可以解决这个问题,但是电视没有响应:
echo "tx 4F 82 00 00" | cec-client -s
Run Code Online (Sandbox Code Playgroud)
4 =记录器1(raspi)
F =广播
82 =活跃来源
00 00 = ID
有没有人成功完成这个非常基本的操作?
我有一台配备 NVIDIA GT555M GPU 的笔记本电脑 (Asus N55SF),安装了 Elementary OS(基于 Ubuntu)。我安装了 Bumblebee,带有 NVIDIA 驱动程序,可以正常工作。(optirun glxspheres 比 glxspheres 具有更高的 fps)
当我将显示器连接到 VGA 适配器时,一切正常。但是,当我尝试连接 HDMI 设备时,没有任何反应。HDMI 端口可在 Windows 7 和 8 上运行,因此不可能是硬件故障。
奇怪的是,当我运行 xrandr 时,我得到以下输出:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
1920x1080 60.0*+ 59.9
1680x1050 60.0 59.9
1600x1024 60.2
1400x1050 60.0
1280x1024 60.0
1440x900 59.9
1280x960 60.0
1360x768 59.8 60.0
1152x864 …
Run Code Online (Sandbox Code Playgroud) 我有一台带两个hdmi输入源的电视:
我正在寻找控制Android的主动hdmi电视输入的可能性(在彼此之间切换)
一开始我想通过IR端口控制电视,但我没有找到廉价的USB棒.现在我想一下HDMI CEC,但关于它的信息非常少.我不明白,CEC是否允许这样做?也许存在其他方式?
Сlarification: 我有一个Android应用程序,可以通过调度程序播放媒体内容,有时应用程序必须能够将输入源电视更改为其他HDMI端口,并在以后更改.最后:我需要从Android设备控制输入源电视.
hdmi ×10
android ×7
java ×3
raspberry-pi ×2
android-ndk ×1
android-tv ×1
connection ×1
exoplayer ×1
exoplayer2.x ×1
nvidia ×1
qt ×1
television ×1
video ×1
xrandr ×1