2 u013513228 u013513228 于 2016.04.15 22:05 提问

android 听筒模式下 无法播放声音 20C

@Override
public void onSensorChanged(SensorEvent event) {
float range = event.values[0];
if (range == mSensor.getMaximumRange()){
Toast.makeText(this, "正常模式", Toast.LENGTH_LONG).show();
audioManager.setMode(AudioManager.MODE_NORMAL);
}else {
Toast.makeText(this, "听筒模式", Toast.LENGTH_LONG).show();
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
}
}

 在听筒模式下   播放录音  但是没有声音    当切换成正常模式的时候   声音播放出来了

2个回答

CSDNXIAON
CSDNXIAON   2016.04.15 22:12

android 听筒播放模式
Android Receiver(听筒模式和扬声器模式,铃音模式)
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Wei_Smile
Wei_Smile   2016.04.15 22:13
 public class MainActivity extends Activity implements SensorEventListener {
    private AudioManager audioManager;
    private SensorManager mSensorManager;
    private Sensor mSensor;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
    }

    private void init() {
        audioManager = (AudioManager) this
                .getSystemService(Context.AUDIO_SERVICE);
        mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);

        MediaPlayer mPlayer = new MediaPlayer();
        try {
            mPlayer.reset();
            mPlayer.setDataSource(new FileInputStream("/sdcard/snow.mp3").getFD());
            mPlayer.prepare();
            mPlayer.start();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SecurityException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    @Override
    protected void onResume() {
        mSensorManager.registerListener(this, mSensor,
                SensorManager.SENSOR_DELAY_NORMAL);
        super.onResume();
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        mSensorManager.unregisterListener(this);
        super.onPause();
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        // TODO Auto-generated method stub
        float range = event.values[0];

        if (range == mSensor.getMaximumRange()) {
            Toast.makeText(this, "正常模式", Toast.LENGTH_LONG).show();
             audioManager.setMode(AudioManager.MODE_NORMAL);
        } else {
            Toast.makeText(this, "听筒模式", Toast.LENGTH_LONG).show();
             audioManager.setMode(AudioManager.MODE_IN_CALL);
        }
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub

    }

}
Wei_Smile
Wei_Smile 回复wsad145: 给你找了一个别人写的听筒模式,你看看是不是你哪里没写对
2 年多之前 回复
u013513228
u013513228 听筒模式下 没有声音
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android中实现听筒中播放声音
近期有不少客户反馈到AnyChat SDK for Android能否实现从听筒中播放声音,AnyChat团队经过研究后,找到了解决方案,在现有的SDK基础上面做如下两点修改: 一、修改AnyChat SDK中AnyChatAudioHelper文件 将 mAudioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, sampl
android播放语音,切换听筒模式遇到的问题
android播放语音,切换听筒模式遇到的问题在android5.0以上我们设置听筒模式audioManager.setMode(AudioManager.MODE_IN_CALL)没有效果;后来各种查阅资料,发现android5.0以上Google官方文档推荐使用 audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);直接上切换代码:/
iOS - 设备扬声器听筒切换,静音模式播放音频
做社交产品时 , 语音聊天是必不可少的 , 如果公司不用三方框架比如环信或者融云什么的 , IM这块就得纯手动撸了.. 正如我们项目 … 做到后面细节部分 , 听筒和扬声器切换播放语音 , 静音模式下依然可以播放语音 , 此需要必不可少 . 网上查了很多 , 也没找到合适的 , 可能是自己写IM的公司还是比较少吧 ..后面想明白后 , 其实非常简单 , 就几句代码 … 距离传感器 + 声筒切换一
android 语音播放 听筒 扬声器 选择
切换听筒和扬声器,需要添加新权限:   代码: private AudioManager audioManager; 在onCreate()中:audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 切换的方法: /** *  为true打开喇叭扩音器;为false
Android平台Unity所有声音从听筒播放
最近遇到一个需求要让所有声音都从听筒播放,查看了Android 的media包后,发现强制转换音频输出方式的方法被隐藏了,只要通过发射去调用Android Native的方法就可以了,下面是代码   try { Class audioSystemClass = Class.forName("android.media.AudioSystem"); Method setFor
Android听筒模式不同版本兼容
5.0以前Android听筒模式和扬声器模式这样就管用       扬声器:         //关闭麦克风          mAudioManager.setMicrophoneMute(false);         // 打开扬声器          mAudioManager.setSpeakerphoneOn(true);       听筒模式:          mAu
Android的听筒模式实现
昨天看到群里有人问听筒模式的实现,希望能做到微信那种听筒模式的效果,那什么是听筒模式呢?听筒模式和扬声器模式有什么区别呢? 现在我来简单说下这个问题,用过Iphone的siri可能会知道siri有个辅助功能,当你拿起手机靠近耳朵的时候会自动打开siri,然后你可以直接说出你要打电话给谁,去年老罗的锤子会上也演示了android上实现这个功能,这里可以简单概括下,听筒模式打电话贴近耳朵听筒才发出声
关于部分手机使用听筒模式播放音频时没有声音的问题
这一个问题其实包含细节很多(涉及硬件和多媒体的细节问题都特别多),我只讲述我所遇见的问题,做一下记录 前提是如果使用扬声器播放声音的时候播放正常,而使用听筒模式下面播放声音却没有声音。这种情况仅有部分手机出现,解决代码如下:  private void setPlayModle(){         AudioManager audioManager = (AudioMana
Android 扬声器与听筒的切换
本文主要实现扬声器与听筒的切换: 1.
android 听筒播放音乐
<br />这个问题让我蛋疼了,既然百度也木有资料。<br /> <br />耗时的主要原因是因为权限不足时,而没有终止程序,只用了一小行日志提醒,没有看到<br /> <br />用听筒播放很简单<br /> <br />AudioManager.setMode(AudioManager.MODE_IN_CALL) //设定为通话中即可<br /> <br />还是这一句代码的事,不过记得要加上权限<br />android.permission.MODIFY_AUDIO_SETTINGS<br /> <