我需要在用户的计算机上列出可用的音频输出选项。为此,可以使用MediaDevices.enumerateDevices方法,该方法返回MediaDeviceInfo元素数组的Promise:
CarDetailsFragment
现在我需要为用户显示选择下拉列表。此下拉列表应填充每个设备的名称,该名称可通过onCreateView()
属性填充,但前提是用户允许访问音频设备以响应@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String value = getArguments().getString("key");
return inflater.inflate(R.layout.fragment, container, false);
}
调用(否则let devices = await navigator.mediaDevices.enumerateDevices();
属性是一个空字符串。)
因此,考虑到这一点,这就是人们应该这样做的方式:
MediaDeviceInfo.label
现在这里有一点问题......
MediaDevices.getUserMedia
要求用户计算机上存在一个音频输入或视频输入,如果没有,则会立即投出!也就是说,我不能用它来查询用户机器上的输出设备,如果那台机器没有输入设备,这至少可以说是非常有趣。
那我该如何在没有输入设备的机器上查询输出设备?
注意:这是在最新的Chrome中,问题与网络上的JavaScript有关,即不是电子等,它们不会显示此问题。