相关疑难解决方法(0)

Android - 通过耳机播放音频

我目前有代码使用AudioRecord类从设备mic读取录音,然后使用AudioTrack类播放.

我的问题是,当我播放它时,它通过扬声器电话播放.

我希望它通过设备上的耳机播出.

这是我的代码:

public class LoopProg extends Activity {

 boolean isRecording; //currently not used
 AudioManager am;
 int count = 0;

 /** Called when the activity is first created. */
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        am.setMicrophoneMute(true);
        while(count <= 1000000){
        Record record = new Record();  
        record.run();
        count ++;
        Log.d("COUNT", "Count is : " + count);
        }
    } 

   public class Record extends Thread{
      static final int bufferSize = 200000;
      final short[] buffer = new short[bufferSize]; …
Run Code Online (Sandbox Code Playgroud)

audio android routes

33
推荐指数
2
解决办法
5万
查看次数

插入耳机时,强制输出声音到内置扬声器

插入耳机时如何让内置手机扬声器播放声音?我看到使用SoundAbout应用程序是可能的.

我试过这个答案提示

audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);
Run Code Online (Sandbox Code Playgroud)

我可能以错误的方式做到了.我只是设置它并使用MediaPlayer播放一些音乐.

我正在使用Nexus 6进行此测试.

android microphone

10
推荐指数
1
解决办法
3907
查看次数

当耳机插入时,通过扬声器传送音频

即使插入耳机,我们如何通过扬声器传输音频输出?

我的代码:

    if(audioManager.isWiredHeadsetOn())
    {
        audioManager.setWiredHeadsetOn(false);
        audioManager.setSpeakerphoneOn(true); 
        audioManager.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_SPEAKER, AudioManager.ROUTE_ALL);  
        audioManager.setMode(AudioManager.MODE_NORMAL); 

    }
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

media audio android

6
推荐指数
1
解决办法
4711
查看次数

Unity在设备android上更改音频输出

我必须改变音频源的音频输出,这样我才能听到扬声器而不是耳机

老实说,我不知道怎么做:)我使用的代码:

_audioSource.clip = Microphone.Start(Microphone.devices[0], false, 500, AudioSettings.outputSampleRate);
Run Code Online (Sandbox Code Playgroud)

如果我插入了耳机,声音将会播放,这不是我的目标

也许是我可以使用的Unity中的东西?或者只是在Android Studio中创建一个库

c# unity-game-engine

5
推荐指数
0
解决办法
156
查看次数

Audiomanager扬声器不起作用

我正在通话时尝试启用扬声器:

final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);
Run Code Online (Sandbox Code Playgroud)

我试图检查setSpeakerphoneOn()音频管理器后,通过询问是否仍未打开扬声器isSpeakerphoneOn()

audioManager.isSpeakerphoneOn();
Run Code Online (Sandbox Code Playgroud)

在我的日志中,我可以看到一些我无法理解的错误:

E/AudioManager: Don't setBluetoothScoOn-PackageName: com.myapp.app  on = false
E/AudioManager: Don't setSpeakerphoneOn-PackageName: com.myapp.app  on = true
Run Code Online (Sandbox Code Playgroud)

我在论坛中找不到有关此错误的任何信息。

在以下设备上不起作用:中兴Z981,华为p9,我已经尝试过,并android.permission.MODIFY_AUDIO_SETTINGS获得了批准。

performance android android-audiomanager android-phone-call

3
推荐指数
2
解决办法
2766
查看次数