RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。
其实在实际情况中,使用流媒体播放器做视频直播的也是有不少的,但是有的用户反应我们流媒体播放器EasyPlayer-RTMP-Android电话通话后,再打开视频,视频加载不出来,咨询我们应该如何解决。
其实这个是因为AudioManager在请求视频服务时,电话如果处于接通过程中时,则获取不到音频权限,那么音频队列mQueue会堵塞,造成整个播放器加载不了。下面是解决步骤:
1、EasyPlayerClient.java中定义一个成员变量:
private boolean audioRequestCode = true;
2、在请求音频权限时,如果获取不到,则标记为false:
3、在onRTSPSourceCallBack1方法中,填充音频队列时,需要先判断这个变量: