实例介绍
pjsip官方代码编译出的最新Android平台的Demo,加入了openh264的支持,可以视频通话
【实例截图】
【核心代码】
16359647337009886484.zip
└── pjsua2_android_video_sample-master
├── app
│ ├── build.gradle
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── org
│ │ └── pjsip
│ │ ├── PjCameraInfo.java
│ │ ├── PjCamera.java
│ │ └── pjsua2
│ │ ├── AccountCallConfig.java
│ │ ├── AccountConfig.java
│ │ ├── AccountInfo.java
│ │ ├── Account.java
│ │ ├── AccountMediaConfig.java
│ │ ├── AccountMwiConfig.java
│ │ ├── AccountNatConfig.java
│ │ ├── AccountPresConfig.java
│ │ ├── AccountRegConfig.java
│ │ ├── AccountSipConfig.java
│ │ ├── AccountVideoConfig.java
│ │ ├── app
│ │ │ ├── CallActivity.java
│ │ │ ├── MainActivity.java
│ │ │ └── MyApp.java
│ │ ├── AudDevManager.java
│ │ ├── AudioDevInfo.java
│ │ ├── AudioDevInfoVector.java
│ │ ├── AudioMedia.java
│ │ ├── AudioMediaPlayerInfo.java
│ │ ├── AudioMediaPlayer.java
│ │ ├── AudioMediaRecorder.java
│ │ ├── AudioMediaVector.java
│ │ ├── AuthCredInfo.java
│ │ ├── AuthCredInfoVector.java
│ │ ├── BuddyConfig.java
│ │ ├── BuddyInfo.java
│ │ ├── Buddy.java
│ │ ├── BuddyVector.java
│ │ ├── CallInfo.java
│ │ ├── Call.java
│ │ ├── CallMediaInfo.java
│ │ ├── CallMediaInfoVector.java
│ │ ├── CallOpParam.java
│ │ ├── CallSendRequestParam.java
│ │ ├── CallSetting.java
│ │ ├── CallVidSetStreamParam.java
│ │ ├── CodecFmtp.java
│ │ ├── CodecFmtpVector.java
│ │ ├── CodecInfo.java
│ │ ├── CodecInfoVector.java
│ │ ├── ConfPortInfo.java
│ │ ├── ContainerNode.java
│ │ ├── Endpoint.java
│ │ ├── EpConfig.java
│ │ ├── Error.java
│ │ ├── FindBuddyMatch.java
│ │ ├── IntVector.java
│ │ ├── JbufState.java
│ │ ├── JsonDocument.java
│ │ ├── LogConfig.java
│ │ ├── LogEntry.java
│ │ ├── LogWriter.java
│ │ ├── LossType.java
│ │ ├── MathStat.java
│ │ ├── MediaConfig.java
│ │ ├── MediaCoordinate.java
│ │ ├── MediaEventData.java
│ │ ├── MediaEvent.java
│ │ ├── MediaFmtChangedEvent.java
│ │ ├── MediaFormatAudio.java
│ │ ├── MediaFormat.java
│ │ ├── MediaFormatVector.java
│ │ ├── MediaFormatVideo.java
│ │ ├── Media.java
│ │ ├── MediaSize.java
│ │ ├── MediaTransportInfo.java
│ │ ├── OnCallMediaEventParam.java
│ │ ├── OnCallMediaStateParam.java
│ │ ├── OnCallMediaTransportStateParam.java
│ │ ├── OnCallRedirectedParam.java
│ │ ├── OnCallReplacedParam.java
│ │ ├── OnCallReplaceRequestParam.java
│ │ ├── OnCallRxOfferParam.java
│ │ ├── OnCallSdpCreatedParam.java
│ │ ├── OnCallStateParam.java
│ │ ├── OnCallTransferRequestParam.java
│ │ ├── OnCallTransferStatusParam.java
│ │ ├── OnCallTsxStateParam.java
│ │ ├── OnCallTxOfferParam.java
│ │ ├── OnCreateMediaTransportParam.java
│ │ ├── OnCreateMediaTransportSrtpParam.java
│ │ ├── OnDtmfDigitParam.java
│ │ ├── OnIncomingCallParam.java
│ │ ├── OnIncomingSubscribeParam.java
│ │ ├── OnInstantMessageParam.java
│ │ ├── OnInstantMessageStatusParam.java
│ │ ├── OnMwiInfoParam.java
│ │ ├── OnNatCheckStunServersCompleteParam.java
│ │ ├── OnNatDetectionCompleteParam.java
│ │ ├── OnRegStartedParam.java
│ │ ├── OnRegStateParam.java
│ │ ├── OnSelectAccountParam.java
│ │ ├── OnStreamCreatedParam.java
│ │ ├── OnStreamDestroyedParam.java
│ │ ├── OnTimerParam.java
│ │ ├── OnTransportStateParam.java
│ │ ├── OnTypingIndicationParam.java
│ │ ├── PendingJob.java
│ │ ├── PersistentDocument.java
│ │ ├── PersistentObject.java
│ │ ├── pj_constants_.java
│ │ ├── pj_file_access.java
│ │ ├── pj_log_decoration.java
│ │ ├── pjmedia_aud_dev_cap.java
│ │ ├── pjmedia_aud_dev_route.java
│ │ ├── pjmedia_dir.java
│ │ ├── pjmedia_event_type.java
│ │ ├── pjmedia_file_player_option.java
│ │ ├── pjmedia_file_writer_option.java
│ │ ├── pjmedia_format_id.java
│ │ ├── pjmedia_orient.java
│ │ ├── pjmedia_srtp_crypto_option.java
│ │ ├── pjmedia_srtp_use.java
│ │ ├── pjmedia_tone_desc.java
│ │ ├── pjmedia_tone_digit.java
│ │ ├── pjmedia_tone_digit_map.java
│ │ ├── pjmedia_tp_proto.java
│ │ ├── pjmedia_type.java
│ │ ├── pjmedia_vid_dev_cap.java
│ │ ├── pjmedia_vid_dev_std_index.java
│ │ ├── pjmedia_vid_packing.java
│ │ ├── pjmedia_vid_stream_rc_method.java
│ │ ├── pj_qos_flag.java
│ │ ├── pj_qos_params.java
│ │ ├── pj_qos_type.java
│ │ ├── pj_qos_wmm_prio.java
│ │ ├── pjrpid_activity.java
│ │ ├── pjsip_cred_data_type.java
│ │ ├── pjsip_dialog_cap_status.java
│ │ ├── pjsip_event_id_e.java
│ │ ├── pjsip_evsub_state.java
│ │ ├── pjsip_hdr_e.java
│ │ ├── pjsip_inv_state.java
│ │ ├── pjsip_redirect_op.java
│ │ ├── pjsip_role_e.java
│ │ ├── pjsip_ssl_method.java
│ │ ├── pjsip_status_code.java
│ │ ├── pjsip_transport_flags_e.java
│ │ ├── pjsip_transport_state.java
│ │ ├── pjsip_transport_type_e.java
│ │ ├── pjsip_tsx_state_e.java
│ │ ├── pj_ssl_cert_name_type.java
│ │ ├── pj_ssl_cert_verify_flag_t.java
│ │ ├── pj_ssl_cipher.java
│ │ ├── pj_ssl_sock_proto.java
│ │ ├── pj_stun_nat_type.java
│ │ ├── pjsua_100rel_use.java
│ │ ├── pjsua2Constants.java
│ │ ├── pjsua2.java
│ │ ├── pjsua2JNI.java
│ │ ├── pjsua_buddy_status.java
│ │ ├── pjsua_call_flag.java
│ │ ├── pjsua_call_hold_type.java
│ │ ├── pjsua_call_media_status.java
│ │ ├── pjsua_call_vid_strm_op.java
│ │ ├── pjsua_create_media_transport_flag.java
│ │ ├── pjsua_destroy_flag.java
│ │ ├── pjsua_invalid_id_const_.java
│ │ ├── pjsua_ipv6_use.java
│ │ ├── pjsua_med_tp_st.java
│ │ ├── pjsua_sip_timer_use.java
│ │ ├── pjsua_snd_dev_mode.java
│ │ ├── pjsua_state.java
│ │ ├── pjsua_stun_use.java
│ │ ├── pjsua_vid_req_keyframe_method.java
│ │ ├── pj_turn_tp_type.java
│ │ ├── PresenceStatus.java
│ │ ├── PresNotifyParam.java
│ │ ├── RtcpSdes.java
│ │ ├── RtcpStat.java
│ │ ├── RtcpStreamStat.java
│ │ ├── RxMsgEvent.java
│ │ ├── SdpSession.java
│ │ ├── SendInstantMessageParam.java
│ │ ├── SendTypingIndicationParam.java
│ │ ├── SipEventBody.java
│ │ ├── SipEvent.java
│ │ ├── SipHeader.java
│ │ ├── SipHeaderVector.java
│ │ ├── SipMediaType.java
│ │ ├── SipMultipartPart.java
│ │ ├── SipMultipartPartVector.java
│ │ ├── SipRxData.java
│ │ ├── SipTransaction.java
│ │ ├── SipTxData.java
│ │ ├── SipTxOption.java
│ │ ├── SrtpCrypto.java
│ │ ├── SslCertInfo.java
│ │ ├── SslCertName.java
│ │ ├── StreamInfo.java
│ │ ├── StreamStat.java
│ │ ├── StringVector.java
│ │ ├── SWIGTYPE_p_pj_bool_t.java
│ │ ├── SWIGTYPE_p_pjmedia_vid_dev_hwnd_type.java
│ │ ├── SWIGTYPE_p_pj_ssize_t.java
│ │ ├── SWIGTYPE_p_p_void.java
│ │ ├── SWIGTYPE_p_unsigned_char.java
│ │ ├── SWIGTYPE_p_vectorT_pj__SrtpCrypto_t.java
│ │ ├── SWIGTYPE_p_vectorT_pj__SslCertName_t.java
│ │ ├── SWIGTYPE_p_void.java
│ │ ├── TimerEvent.java
│ │ ├── TimeVal.java
│ │ ├── TlsConfig.java
│ │ ├── TlsInfo.java
│ │ ├── ToneDesc.java
│ │ ├── ToneDescVector.java
│ │ ├── ToneDigit.java
│ │ ├── ToneDigitMapDigit.java
│ │ ├── ToneDigitMapVector.java
│ │ ├── ToneDigitVector.java
│ │ ├── ToneGenerator.java
│ │ ├── TransportConfig.java
│ │ ├── TransportInfo.java
│ │ ├── TsxStateEvent.java
│ │ ├── TsxStateEventSrc.java
│ │ ├── TxErrorEvent.java
│ │ ├── TxMsgEvent.java
│ │ ├── UaConfig.java
│ │ ├── UserEvent.java
│ │ ├── Version.java
│ │ ├── VidCodecParam.java
│ │ ├── VidDevManager.java
│ │ ├── VideoDevInfo.java
│ │ ├── VideoDevInfoVector.java
│ │ ├── VideoPreview.java
│ │ ├── VideoPreviewOpParam.java
│ │ ├── VideoSwitchParam.java
│ │ ├── VideoWindowHandle.java
│ │ ├── VideoWindowInfo.java
│ │ ├── VideoWindow.java
│ │ └── WindowHandle.java
│ ├── jniLibs
│ │ ├── arm64-v8a
│ │ │ ├── libopenh264.so
│ │ │ └── libpjsua2.so
│ │ ├── armeabi
│ │ │ ├── libopenh264.so
│ │ │ └── libpjsua2.so
│ │ ├── armeabi-v7a
│ │ │ ├── libopenh264.so
│ │ │ └── libpjsua2.so
│ │ └── x86
│ │ ├── libopenh264.so
│ │ └── libpjsua2.so
│ └── res
│ ├── drawable
│ │ └── bkg.xml
│ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ ├── layout
│ │ ├── activity_call.xml
│ │ ├── activity_main.xml
│ │ ├── dlg_account_config.xml
│ │ └── dlg_add_buddy.xml
│ ├── menu
│ │ ├── call.xml
│ │ └── main.xml
│ ├── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── values-sw600dp
│ │ └── dimens.xml
│ ├── values-sw720dp-land
│ │ └── dimens.xml
│ ├── values-v11
│ │ └── styles.xml
│ └── values-v14
│ └── styles.xml
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── README.md
└── settings.gradle
29 directories, 269 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论