JMF问题请教---无法打开音频设备,无法初始化捕获设备

sea_man 2002-03-19 12:57:13
原程序来自JMF API Guide的代码:
......
CaptureDeviceInfo di = null;
Processor p = null;
StateHelper sh = null;//这是原Guide上的辅助类,已编译成功。
Vector deviceList = CaptureDeviceManager.getDeviceList(new
AudioFormat(AudioFormat.LINEAR, 44100, 16, 2));
if (deviceList.size() > 0)
di = (CaptureDeviceInfo)deviceList.firstElement();
else
System.out.println("no record device");
// Exit if we can't find a device that does linear,
// 44100Hz, 16 bit,
// stereo audio.
System.exit(-1);
......

编译成功,运行时显示:no record device

我的目的原是想编程自己用麦克风录音,麦克风我已用WINDOWS的录音机试过,可以用。
该怎么做才对?

然后我用JMStudio,运行时,如果打开*.wav文件,则显示:
controller erro:could't open audio device!
如果用File菜单里的Capture,则显示:
could't initialize capture device!

声卡驱动在安装JMF之前就安装了的,安装JMF之后,我的AUTOEXEC.BAT文件的内容是:PATH c:\j2sdk1.4.0\bin;%PATH%
SET CLASSPATH=C:\PROGRA~1\JMF2.1\LIB\SOUND.JAR;C:\PROGRA~1\JMF2.1\LIB\JMF.JAR;.;C:\J2SDK1.4.0\LIB\TOOLS.JAR;C:\J2SDK1.4.0\LIB\;C:\J2SDK1.4.0\JRE\LIB;%CLASSPATH%
set PATH=%WINDIR%\System;%PATH%

到底哪里不对?
...全文
577 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sharetop 2002-05-14
我以前做过这方面的应用,感觉不算很复杂呀?

你是win98下用吗?首先不管自己的程序,先让JMFStudio能正常才行。

你下的jmf1.2.1是可执行文件,你安装了jre吗?安装也很简单,先装JRE,然后装JMF,都是exe文件,一路点下一步即可。


回复
freejob 2002-05-14
谁对这个比较熟,过来指导指导吧,谢谢!
回复
freejob 2002-05-14
备注:

我用的是win2000 专业版
你能详细说一下这个步路吗?我就只装了一个JMF2.1.1,是一个exe文件

-----“你下的jmf1.2.1是可执行文件,你安装了jre吗?安装也很简单,先装JRE,然后装JMF,都是exe文件,一路点下一步即可。”
回复
freejob 2002-05-14
to:楼上

是呀,我已经装上了这个jmf-2_1_1a-win.exe,然后程序栏里多了Java Media Framework 2.1.1a文件夹其中有JMFStudio等三个主要的东东,但为啥点了没有啥反应?运行这个http://java.sun.com/products/java-media/jmf/2.1.1/jmfdiagnostics.html
出现
JMF Version... 2.1.1a

Win32 Build
Native Libraries Found
应该是正常了吧?
http://java.sun.com/products/java-media/jmf/2.1.1/samples/
里面的两个短片我都能看到,SimplePlayerApplet.java我也下下来的,但是不知道怎么用,把他直接嵌到html里吗?我把他导到visualage里报错,

你当时怎么用的这些东西?我要是自己开发一个东西应该怎么下手呢?在什么环境下做?在visualage里能作吗?C:\Program Files\JMF2.1.1里面的东西要不要导倒visualage里,谢谢!我会另开一个贴子在给你分
回复
sea_man 2002-03-19
还是不行,而且用JMF自带的JMStudio运行也不行,我想SUN的程序应该是没有什么问题的,关键是不是我哪儿配置不对?JMF registry这个程序一定要先执行吗,可是这个程序好象没有什么作用。郁闷啊,SUN的JMF API Guide我都看完了,可是现在想先简单的试一个程序都不成功。
回复
GJA106 2002-03-19
试试看。
new AudioFormat(AudioFormat.LINEAR, 44100, 16, 2) 改为
new AudioFormat(AudioFormat.LINEAR)或 new AudioFormat(null)
因为getDeviceList(new AudioFormat...)时驱动程序管理器会去寻找指定与new声音格式匹配的设备。
Vector deviceList =CaptureDeviceManager.getDeviceList(new AudioFormat(AudioFormat.LINEAR));//或AudioFormat(null)
if (deviceList.size() > 0)
{
....
}
else
..........
回复
freejob 2002-03-19
我也想整个这方面的东东,还没开始弄,欢迎高手指点一二。
回复
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-03-19 12:57
社区公告
暂无公告