rtmp协议视频流媒体播放器安卓版本在电话通话后视频无法打开的问题解决
程序员文章站
2022-07-06 18:00:12
...
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方法中,填充音频队列时,需要先判断这个变量:
上一篇: asp.net gridview代码绑定
下一篇: 项庄舞剑歇后语