Voglio riprodurre video locali in una webview crosswalk. Sto ottenendo il percorso video da un intento che apre la mia attività, in modo che possa essere memorizzato internamente o su scheda SD.Riproduzione video locale nella webview
Utilizzo di questo URL file:///storage/emulated/0/Download/movies/movie.mp4
ottengo Failed to load resource: net::ERR_ACCESS_DENIED
.
Utilizzare la finestra di dialogo del file di input con URL.createObjectURL(file);
funziona. Ma poiché conosco il percorso, non voglio selezionarlo di nuovo manualmente. L'impostazione del valore del file di input è vietata.
Impossibile creare un URL utilizzando il percorso, poiché richiede file o blob.
A causa di possibili file di grandi dimensioni, non è possibile copiarli temporaneamente su scheda SD.
Questo mi dà File non trovato errore:
@Override
public WebResourceResponse shouldInterceptLoadRequest(XWalkView view,
String url) {
if(url.contains("file:///storage")){
try {
return new WebResourceResponse("video/*", "UTF-8", new FileInputStream(url));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
return super.shouldInterceptLoadRequest(view, url);
}
anche io ho definito <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
altre domande su StackOverflow chiedendo per l'accesso ai beni, così ho creato questa nuova domanda
Quale versione di Android stai usando per il test? La domanda –
corrisponde a [https://stackoverflow.com/questions/8885701/play-local-hard-drive-video-file-with-html5-video-tag](https://stackoverflow.com/questions/8885701/play-local-hard-drive-video-file-con-html5-video-tag) –
prova questo per la tua soluzione [https://stackoverflow.com/questions/14194890/playing-local-video-in-webview- on-android] (https://stackoverflow.com/questions/14194890/playing-local-video-in-webview-on-android) –