2017-01-31 21 views
3

Я разрабатываю приложение для Android, которое должно воспроизводить видео .mp4 с моего локального сервера.VideoView setVideoUri Нет контент-провайдера

У меня есть этот код:

mPreview = (VideoView) findViewById(R.id.video_preview); 
    mPreview.setVisibility(View.VISIBLE); 
    mPreview.setVideoURI(Uri.parse("http://192.168.1.100:7676/getVideoByFileName.php?name=C%3A%2FSpinShot%2FResults%2FSpinShot-201701311359177714.mp4")); 
    mPreview.setOnPreparedListener(createOnPreparedListener()); 

    private MediaPlayer.OnPreparedListener createOnPreparedListener() { 
     return new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      mp.start(); 
     } 
    }; 
}    

И каждый раз, когда он запускается на выполнение, я получаю эту ошибку:

D/MediaPlayer: setDataSource IOException | SecurityException happend : 
                     java.io.FileNotFoundException: No content provider: http://192.168.1.100:7676/getVideoByFileName.php?name=C%3A%2FSpinShot%2FResults%2FSpinShot-201701311359177714.mp4 
                      at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1141) 
                      at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:991) 
                      at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:914) 
                      at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1121) 
                      at android.widget.VideoView.openVideo(VideoView.java:371) 
                      at android.widget.VideoView.access$2100(VideoView.java:71) 
                      at android.widget.VideoView$7.surfaceCreated(VideoView.java:652) 
                      at android.view.SurfaceView.updateWindow(SurfaceView.java:712) 
                      at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:209) 
                      at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1014) 
                      at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2510) 
                      at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437) 
                      at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7403) 
                      at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920) 
                      at android.view.Choreographer.doCallbacks(Choreographer.java:695) 
                      at android.view.Choreographer.doFrame(Choreographer.java:631) 
                      at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906) 
                      at android.os.Handler.handleCallback(Handler.java:739) 
                      at android.os.Handler.dispatchMessage(Handler.java:95) 
                      at android.os.Looper.loop(Looper.java:158) 
                      at android.app.ActivityThread.main(ActivityThread.java:7229) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 

Нет видео играет в VideoView. Любая помощь будет оценена по достоинству.

+0

Можете ли вы опубликовать весь код того, как вы настраиваете медиаплеер? – OBX

+0

@OBX я отредактировал фрагмент кода. –

+0

Вы в той же сети? Я имею в виду при получении видео с Android? – OBX

ответ

0

Оказывается, мой брандмауэр влияет на их соединение. Отвернулся, и все работает отлично.