如何在android中以编程方式在立体声和单声道之间切换音频输出模式?

如何在android中以编程方式在立体声和单声道之间切换音频输出模式?,android,audio,audiotrack,Android,Audio,Audiotrack,实际上,我正在尝试制作一个自定义音乐播放器应用程序,我只是想让用户有机会将音频输出更改为立体声和单声道。您可以在制作AudioTrack的实例时进行设置 /* Create AudioTrack instance */ AudioTrack mAudioTrack = null; int minSize = AudioTrack.getMinBufferSize( 16000, AudioFormat.CHANNEL_OU

实际上,我正在尝试制作一个自定义音乐播放器应用程序,我只是想让用户有机会将音频输出更改为立体声和单声道。

您可以在制作
AudioTrack
的实例时进行设置

    /* Create AudioTrack instance */
    AudioTrack mAudioTrack = null;

    int minSize = AudioTrack.getMinBufferSize(
            16000,
            AudioFormat.CHANNEL_OUT_MONO, // or set AudioFormat.CHANNEL_OUT_STEREO
            AudioFormat.ENCODING_PCM_16BIT);

    if (mAudioTrack == null) {
        mAudioTrack = new AudioTrack(
                AudioManager.STREAM_MUSIC,
                16000,
                AudioFormat.CHANNEL_OUT_MONO, // or set AudioFormat.CHANNEL_OUT_STEREO
                AudioFormat.ENCODING_PCM_16BIT,
                minSize,
                AudioTrack.MODE_STREAM);
    }
    /* Create AudioTrack instance */

    /* Stop and release AudioTrack instance */
    mAudioTrack.flush();
    mAudioTrack.stop();
    mAudioTrack.release();
    mAudioTrack = null;
    /* Stop and release AudioTrack instance */

如果您想在运行时创建新的
AudioTrack
,将首先发布以前的实例。

感谢您的支持response@Kae10...But我已经用不同的频率试过了。也就是2205048000。但是它不起作用。你能检查一下关于
音轨的日志吗?或者你的问题?你的采样器不是非法的,但在某些情况下,它不是正确的值。嗯。。。你能更新你的模块吗?另外,我想知道你播放音乐时是否有问题。我播放音乐时没有问题。只是输出似乎没有改变。实际上,不仅在音乐播放器中,而且还应该在系统媒体设置中进行更新。我已经按照你的建议做了同样的事情。@Kae10