我的应用程序使用 libmedia 播放 20 分钟的加密视频时出现问题。一开始一切都很好:图书馆工作并播放加密视频......但6分钟后,复制在20秒内暂停,之后视频在4分钟内继续播放并再次暂停,20秒后重新启动并再次暂停......等等上。
视频在 Android 4.1 上播放,80MB 大小并使用 AES 加密。这是我们在“onCreate”方法末尾使用的代码:
private void startVideo() {
mVideoView.requestFocus();
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
finish();
}
});
try{
SecretKeySpec skey = new SecretKeySpec("XXXXXxxxxxXXXXXX".getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, skey,new IvParameterSpec(new byte[16]));
Licensing.allow(this);
mServer = new LocalSingleHttpServer();
mServer.setCipher(cipher);
mServer.start();
String serverPath = mServer.getURL("myvideopath");
mVideoView.setVideoPath(serverPath);
mVideoView.setMediaController(mMediaController);
mVideoView.start();
}catch(Exception e){
e.printStackTrace();
}
mVideoView.setMediaController(null);
}
似乎视频在此暂停时再次被解密......但我不知道为什么。