当出现“Android SIP音频通话拒绝 SDP:没有适合的编解码器”错误时,通常是因为设备上缺少支持的音频编解码器。您可以通过以下方法解决该问题:
MediaCodecList
类检查设备上支持的音频编解码器。以下是一个示例代码:MediaCodecList codecList = new MediaCodecList(MediaCodecList.REGULAR_CODECS);
MediaCodecInfo[] codecs = codecList.getCodecInfos();
for (MediaCodecInfo codec : codecs) {
if (codec.isEncoder()) {
String[] types = codec.getSupportedTypes();
for (String type : types) {
if (type.equalsIgnoreCase("audio/opus")) {
// Opus codec is supported
// Add your code here to handle the supported codec
break;
}
}
}
}
SdpSession sdpSession = new SdpSession();
sdpSession.setAudioCodec("opus");
// Add your code here to handle the audio session
请注意,上述示例代码仅提示如何检查和使用支持的音频编解码器。实际实现可能需要与SIP库或其他相关库进行集成。