rtsp身份认证_带有身份验证的MediaPlayer RTSP视频流

我可以未经授权就从ip摄像机流式传输视频,但是现在我需要经过授权才能这样做.我发现很少的信息表明Android不支持通过RTSP进行身份验证,但是我发现了另一个信息,该信息表明在API级别14中可以通过使用以下方法添加HEADERS:setDataSource (Context context, Uri uri, Map headers).我的代码如下:

@Override

public void surfaceCreated(SurfaceHolder holder){

String authHeader = getB64Auth("user","password");

Map headers = new HashMap();

headers.put("Authorization", authHeader);

Uri srcUri = Uri.parse("rtsp://10.0.0.113:554/channel1");

try{

m.setDisplay(h);

m.setDataSource (getApplicationContext(), srcUri,headers);

m.prepare();

m.setAudioStreamType(AudioManager.STREAM_MUSIC);

m.start();

}catch(Exception e){

e.printStackTrace();

}

}

@Override

public void surfaceDestroyed(SurfaceHolder holder) {

m.release();

}

private String getB64Auth (String login, String pass) {

String source=login+":"+pass;

String ret="Basic "+Base64.encodeToString(source.getBytes(),Base64.URL_SAFE|Base64.NO_WRAP);

Log.e("Authorization",ret);

return ret;

}

但这是行不通的,我找不到问题所在.有人对这种流媒体有任何经验吗?还是我只是误解了MediaPlayer类的新方法的效果?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值