2017-01-31 15 views
3

내 로컬 서버에서 .mp4 비디오를 재생해야하는 Android 앱을 개발 중입니다.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

방화벽이 연결에 영향을 미칩니다. 그것을 껐다가 잘 작동합니다.