Buenos días Foreros,
vuelvo a necesitar ayuda con mi aplicación. Estoy leyendo un vídeo con VideoView desde una URL, lo cual me funciona correctamente, pero el problema viene cuando necesito hacer una autenticación ya que el servidor real está protegido con usuario y contraseña desde un .htaccess y .htpasswrd con autenticación Basic.
¿Podríais ayudarme por favor?
Muchas gracias por adelantado.
Dejo mi código para que reviséis como lo intento hacer:
Código Java:
Ver originalpublic class VideoViewActivity extends Activity {
ProgressDialog pDialog;
VideoView videoview;
String VideoURL
= "http://www.miservidor.com/video.3gp";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the layout from video_main.xml
setContentView(R.layout.activity_video_view);
// Find your VideoView in your video_main.xml layout
videoview = (VideoView) findViewById(R.id.VideoView);
// Execute StreamVideo AsyncTask
// Create a progressbar
pDialog = new ProgressDialog(VideoViewActivity.this);
// Set progressbar title
pDialog.setTitle("Streaming Video");
// Set progressbar message
pDialog.setMessage("Buffering...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
// Show progressbar
pDialog.show();
try {
// Start the MediaController
MediaController mediacontroller = new MediaController(
VideoViewActivity.this);
mediacontroller.setAnchorView(videoview);
Method setVideoURIMethod
= videoview.
getClass().
getMethod("setVideoURI", Uri.
class,
Map.
class); Map
<String, String
> params
= new HashMap
<String, String
>(1); final String cred
= login
+ ":" + pwd
; final String auth
= "Basic " + Base64.
encodeToString(cred.
getBytes("UTF-8"),
0); params.put("Authorization", auth);
// Get the URL from String VideoURL
Uri video = Uri.parse(VideoURL);
setVideoURIMethod.invoke(videoview, video, params);
videoview.setMediaController(mediacontroller);
videoview.setVideoURI(video);
Log.e("Error", e.getMessage());
e.printStackTrace();
}
videoview.requestFocus();
videoview.setOnPreparedListener(new OnPreparedListener() {
// Close the progress bar and play the video
public void onPrepared(MediaPlayer mp) {
pDialog.dismiss();
videoview.start();
}
});
}
}