【问题标题】:Play audio trough phone speaker of an android device通过 Android 设备上的手机扬声器播放音频
【发布时间】:2013-11-15 07:38:43
【问题描述】:

是否可以通过安卓设备的手机扬声器播放音频? 手机内较小的扬声器,可产生低音量的声音,只有当您的耳朵靠近手机时才能听到。

希望我的描述足够清楚,可以理解我的问题。

如果可能的话,如何实现这一点的示例将非常有帮助。

编辑 目前我正在使用以下代码来初始化我的 MediaPlayer。

 mediaPlayer = new MediaPlayer();
 mediaPlayer.setOnBufferingUpdateListener(this); 
 mediaPlayer.setOnCompletionListener(this);
 mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
 mediaPlayer.setDataSource(audioPath);
 mediaPlayer.prepare();

【问题讨论】:

    标签: android audio speaker


    【解决方案1】:

    如果您想通过听筒播放音频,请使用STREAM_VOICE_CALL 流类型。如果您使用MediaPlayer 类,则可以使用setAudioStreamType 方法来实现此目的,对于AudioTrack 类,您将流类型传递给the constructor。

    【讨论】:

    • 我需要使用那个 AudioTrack 类吗?因为目前我通过在 MediaPlayer 上调用 setDataSource 来设置音频源并传递我的 mp3 文件的文件路径。当我在 MediaPlayer 上调用 setAudioStreamType 时,什么也没有发生。我将使用当前用于播放音频的代码编辑我的问题。
    • 谢谢您的回答。我需要调用 audioManager.setSpeakerphoneOn(false);结合 setAudioStreamType 使其工作。
    • 不,您不需要使用AudioTrack。我只是提到它,因为我不知道你在使用什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    相关资源
    最近更新 更多