我正在寻找最正确的方式(或任何方式)在拨打电话时在多个流中播放声音。例如,虽然呼叫声音不在内部扬声器中,但我需要一次播放两个扬声器的音乐。此外,我需要从不同的来源播放(一个来自呼叫,另一个来自外部来源) 我试过这样做,但我同时播放音乐和拨打电话。这是我的代码。
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.i(LOG_TAG, "onCallStateChanged: CALL_STATE_OFFHOOK");
Toast.makeText(mContext,"Before waiting an answer",Toast.LENGTH_SHORT).show();
audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
try {
//Answer waiting simulation
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Toast.makeText(mContext,"After waiting an answer",Toast.LENGTH_SHORT).show();
mp = MediaPlayer.create(mContext, Uri.parse(Environment.getExternalStorageDirectory().getPath() + "/Music/celldweller.mp3"));
/*audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);*/
mp.start();
break;
顺便说一下,它一起播放几个声音流而没有任何滞后) 我需要在另一个流和外部扬声器中播放我的mp3文件 有没有办法使用默认API或反射,或者如果使用标准功能不可能,可能有任何能力使用本机接口或编辑系统文件或最坏情况下更改固件。 感谢