2016-05-26 2 views
0

Я думаю о проблеме в ответной части, но не понял, где искать.Я пытаюсь воспроизвести зашифрованное видео с помощью videoView с помощью nanohttpd.but, он не работает, не знаю почему?

Я получаю ошибку при воспроизведении видео:

D/MediaPlayer: Не удалось открыть файл на стороне клиента, пытаясь стороне сервера
MediaPlayer: ошибка (1, -2147483648)

E/медиаплеера: Ошибка (1, -2147483648)

мишень 23

SDK

мин 15

SDK

Устройство для испытания = апи 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); 
    } 
} 

}

ответ

0

NanoHttpd (маленький веб-сервер в Java), как предполагается, будет использоваться на стороне сервера - смотрите README.md here.

+0

Сервер работает в android.not проблема с сервером. –

+0

, и я использую его как локальный сервер. –