I'm thinking the problem in response part but did not figure out where to look out.
Error i get when playing the video:
D/MediaPlayer: Couldn't open file on client side, trying server side
MediaPlayer: error (1, -2147483648)E/MediaPlayer: Error (1,-2147483648)
target sdk 23
min sdk 15
Testing device = api 19 kitkat
AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
MainActivity.java
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
videoView = (VideoView) findViewById(R.id.videoview);
Log.i(TAG,String.valueOf(Environment.getExternalStorageDirectory()));
videoHttpServer = new VideoHttpServer();
try{
videoHttpServer.start();
}catch (Exception exception){
Log.i(TAG,String.valueOf(exception.getMessage()));
}
File file = new File("/sdcard/a1.mp4");
Log.i(TAG,String.valueOf(file.exists()));
Uri uri = Uri.parse("http://127.0.0.1:8089/a1.mp4");
videoView.setVideoURI(uri);
videoView.setMediaController(new MediaController(MainActivity.this));
videoView.start();
}
public class VideoHttpServer extends NanoHTTPD {
public VideoHttpServer() {
super(8089);
}
@Override
public Response serve(String uri, Method method,
Map<String, String> header, Map<String, String> parameters,
Map<String, String> files) {
String answer = "";
FileInputStream fis = null;
try {
File file = new File("/sdcard/a1.mp4");
fis = new FileInputStream(file);
abc = new File(Environment.getExternalStorageDirectory()+"a1.mp4");
} catch (Exception e) {
// TODO Auto-generated catch block
Log.i(TAG,String.valueOf(e.getMessage()));
}
return new NanoHTTPD.Response(Response.Status.OK, "video/mp4", fis,1);
}
}
}