Cra*_*las 8 audio android phone-call
有没有办法在接听电话时启动音频文件而不是在通话中播放(因此另一方可以听到),但只能在通话扬声器中播放(所以只有我们这边可以听到).
听起来很奇怪,我知道但它是一个更大的应用程序的一部分.
首先,您需要设置一个BroadcastReceiver(我们称之为“CallReceiver”),以及了解手机状态的权限(直观上,添加的权限是android.permission.READ_PHONE_STATE)。
像这样注册您的 CallReceiver 操作。
<receiver android:name=".CallReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"></action>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
在 CallReceiver 处,您可以决定音频播放的操作(传入/传出/电话铃声...),因此只需阅读 EXTRA_STATE 和 getCallState()(查看 TelephonyManager 文档)。
关于音频,您需要使用 AudioManager ,并在播放声音之前设置“通话中”播放模式。
private AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_CALL);
am.setSpeakerphoneOn(false);
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
3235 次 |
| 最近记录: |