Java:使用Java媒体框架的音频捕获设备列表 import javax.media.*; 导入java.util.*; 公共类ListCaptureDevices{ 公共静态void main(字符串[]args){ Vector info=CaptureDeviceManager.getDeviceList(空); if(info==null) System.out.println(“JMF不知道捕获设备”); 否则{ System.out.println(“以下”+info.size() +“JMF已知捕获设备”); 对于(int i=0;i

Java:使用Java媒体框架的音频捕获设备列表 import javax.media.*; 导入java.util.*; 公共类ListCaptureDevices{ 公共静态void main(字符串[]args){ Vector info=CaptureDeviceManager.getDeviceList(空); if(info==null) System.out.println(“JMF不知道捕获设备”); 否则{ System.out.println(“以下”+info.size() +“JMF已知捕获设备”); 对于(int i=0;i,java,audio,record,jmf,javasound,Java,Audio,Record,Jmf,Javasound,上面是列出捕获设备的代码。它不返回nullvector,但仍然将向量的大小打印为0,并表示未找到任何设备。此代码有什么问题?没有必要使用JMF来发现声音捕获设备。参见源代码示例上的MediaTypes类。欢迎使用SO。请格式化代码示例。为此,选择示例并单击消息发布/编辑表单上方的{}按钮。 import javax.media.*; import java.util.*; public class ListCaptureDevices { public static void mai

上面是列出捕获设备的代码。它不返回
null
vector,但仍然将向量的大小打印为
0
,并表示未找到任何设备。此代码有什么问题?

没有必要使用JMF来发现声音捕获设备。参见源代码示例上的
MediaTypes
类。

欢迎使用SO。请格式化代码示例。为此,选择示例并单击消息发布/编辑表单上方的
{}
按钮。
import javax.media.*;
import java.util.*;

public class ListCaptureDevices {

    public static void main(String[] args) {

        Vector info = CaptureDeviceManager.getDeviceList(null);
        if (info == null)
            System.out.println("No Capture devices known to JMF");
        else {
            System.out.println("The following " + info.size()
                    + " capture devices are known to the JMF");
            for (int i = 0; i < info.size(); i++)
                System.out
                        .println("\t" + (CaptureDeviceInfo) info.elementAt(i));
        }
    }
}