Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “折旧”的替代方案;setWiredHeadsetOn";控制麦克风输入_Java_Android_Deprecated_Android Audiomanager_Headset - Fatal编程技术网

Java “折旧”的替代方案;setWiredHeadsetOn";控制麦克风输入

Java “折旧”的替代方案;setWiredHeadsetOn";控制麦克风输入,java,android,deprecated,android-audiomanager,headset,Java,Android,Deprecated,Android Audiomanager,Headset,我正在开发一款应用程序,它将关闭或忽略内置麦克风,而不是耳机麦克风。我发现了一个类似的应用程序(较少的音频开关),它在我正在使用的特定手机上运行良好。过去,我见过很多人直接使用audioManager.setWiredHeadsetOn功能,但是它已经被贬值,不再有效 我没有看到任何关于替代方案的参考资料,也没有任何搜索直接指向查看audioManager.iswiredHaeston的人,这也被贬低了,但人们已经找到了解决办法 我的核心意图是仅关闭设备内部麦克风,并保留所有其他麦克风选项(蓝牙

我正在开发一款应用程序,它将关闭或忽略内置麦克风,而不是耳机麦克风。我发现了一个类似的应用程序(较少的音频开关),它在我正在使用的特定手机上运行良好。过去,我见过很多人直接使用
audioManager.setWiredHeadsetOn
功能,但是它已经被贬值,不再有效

我没有看到任何关于替代方案的参考资料,也没有任何搜索直接指向查看audioManager.iswiredHaeston的人,这也被贬低了,但人们已经找到了解决办法

我的核心意图是仅关闭设备内部麦克风,并保留所有其他麦克风选项(蓝牙、耳机等)

[更新] 目前我正在研究audioRecord.setPreferredDevice(AudioDeviceInfo.TYPE_WIRED_HEADSET);这似乎很有希望,但它告诉我int无法转换为AudioDeviceInfo,但我在网上找不到任何其他格式信息。(见下面的代码)

}

但是,这会发布以下错误

“setPreferredDevice (android.media.AudioDeviceInfo) 无法应用音频录制中的 到 (int)“我不确定该如何处理,因为这似乎是文档建议的设置方式

package com.example.myfirstapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.media.AudioDeviceInfo;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Switch;
import android.widget.TextView;
import android.media.AudioRecord;

public class MainActivity extends AppCompatActivity {

    private Switch sw1;
    TextView slvtxt;
    Button btnGet;
    Context context;
    AudioManager audioManager;
    AudioRecord audioRecord;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        context = getApplicationContext();
        audioManager = ((AudioManager)getSystemService(Context.AUDIO_SERVICE));


        setContentView(R.layout.activity_main);
        slvtxt = findViewById(R.id.slaveText);
        sw1 = findViewById(R.id.switch1);
        btnGet = findViewById(R.id.getBtn);
        btnGet.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (sw1.isChecked()) {
audioRecord.setPreferredDevice(AudioDeviceInfo.TYPE_WIRED_HEADSET);
              sw1.setText("isChecked");
            }

            else {
                sw1.setText("isNotChecked");
audioRecord.setPreferredDevice(AudioDeviceInfo.TYPE_BUILTIN_MIC);
            }
        }
    });
}