A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 血剑无痕 中级黑马   /  2014-4-10 09:49  /  3257 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近写了一个音乐播放器,突然想到java语言是高级语言,java可以写播放器说明java说不定可以进行调用一些底层硬件的操作
例如如可不可以调用电脑的发射的红外线,改变红外线发射的频率

3 个回复

倒序浏览
关于系统硬件的调用,有以下两个建议:
1、首先可以上网看看有没有现成的Java类库。(我这边粗略的看了一下,没找着)
2、如果实在找不着,可以看看C或C++语言的相关代码,然后封装成.dll文件(linux下面封装成.so文件),依靠Java的JNI,去访问调用相关的功能。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
1>编写一个java类,这个类包含的方法是按照设备商提供的.h文件经过变形/转换处理过的,并且必须使用native定义.这个地方需要注意的问题是java程序中定义的方法不必追求和厂商提供的头文件列出的方法清单中的方法具有相同的名字/返回值/参数,因为一些参数类型如指针等在java中没法模拟,只要能保证这个方法能实现原dll文件中的方法提供的功能就行了;        
2>按JNI的规则使用c/c++语言编写一个dll程序;        
3>按dll调用dll的规则在自己编写的dll程序里面调用厂商提供的dll程序中定义的方法

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
嗯好的谢谢啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马