2015-10-13 2 views
3

Я не могу открыть какой-либо видеофайл с моим приложением. Я получил кусок кода от StackOverFlow и использовал его, но он не работает для меня. У меня есть ссылка в моей галерее. Но он бросает ошибку времени выполнения, что содержимое не может быть открыто. но я могу играть с другими игроками, это было видео, снятое с телефоном КСТАТИ ...VideoView: Не удалось открыть содержимое и setDataSource не удалось

public class VideoActivity extends Activity { 

private VideoView mVideoView; 
String path = "/storage/emulated/0/DCIM/Camera/VID_20151013_150537120.mp4"; 
//https://www.youtube.com/watch?v=r-M9Xhk026A 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_video); 
    mVideoView = (VideoView) findViewById(R.id.surface_view); 
    mVideoView.setVideoPath(path); 
    mVideoView.setMediaController(new MediaController(this)); 
    mVideoView.requestFocus(); 
    mVideoView.start(); 
    //Bundle bundle = getIntent().getExtras(); 
    //String url = bundle.getString("url", ""); 
    //playVideoFromUrl(url); 
} 

private void playVideoFromUrl(String url) { 
    mVideoView.setVideoURI(Uri.parse(url)); 
    mVideoView.setMediaController(new MediaController(this)); 
    mVideoView.requestFocus(); 
    mVideoView.start(); 
} } 

Журналов ошибок являются:

I/OpenGLRenderer: Initialized EGL, version 1.4 
    D/OpenGLRenderer: Enabling debug mode 0 
     W/art: Suspending all threads took: 13.357ms 
     W/VideoView: Unable to open content: /storage/emulated/0/DCIM/Camera/VID_20151013_150537120.mp4 
     W/VideoView: java.io.IOException: setDataSource failed. 
     W/VideoView:  at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1076) 
     W/VideoView:  at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1022) 
     W/VideoView:  at android.media.MediaPlayer.setDataSource(MediaPlayer.java:974) 
     W/VideoView:  at android.widget.VideoView.openVideo(VideoView.java:352) 
     W/VideoView:  at android.widget.VideoView.access$2100(VideoView.java:72) 
     W/VideoView:  at android.widget.VideoView$7.surfaceCreated(VideoView.java:629) 
     W/VideoView:  at android.view.SurfaceView.updateWindow(SurfaceView.java:579) 
     W/VideoView:  at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:176) 
     W/VideoView:  at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:847) 
     W/VideoView:  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1986) 
     W/VideoView:  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1077) 
     W/VideoView:  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5884) 
     W/VideoView:  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) 
     W/VideoView:  at android.view.Choreographer.doCallbacks(Choreographer.java:580) 
     W/VideoView:  at android.view.Choreographer.doFrame(Choreographer.java:550) 
     W/VideoView:  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) 
     W/VideoView:  at android.os.Handler.handleCallback(Handler.java:739) 
     W/VideoView:  at android.os.Handler.dispatchMessage(Handler.java:95) 
     W/VideoView:  at android.os.Looper.loop(Looper.java:135) 
     W/VideoView:  at android.app.ActivityThread.main(ActivityThread.java:5312) 
     W/VideoView:  at java.lang.reflect.Method.invoke(Native Method) 
     W/VideoView:  at java.lang.reflect.Method.invoke(Method.java:372) 
     W/VideoView:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901) 
     W/VideoView:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696) 
     D/VideoView: Error: 1,0 
+0

Этот метод предназначен для воспроизведения по URL-адресу, а не по методу. Так что выяснилось, было ошибкой ожидать, что он будет играть с медиапата, а не с ури. –

+0

У меня такая же ошибка. Как ты это починил? – Jitendra

+0

проверить это https://stackoverflow.com/questions/40433248/play-video-from-url-in-videoview-android –

ответ

0

Проверить для Permissions в AndroidManifest.xml.

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 

uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" 

Это может помочь.

+0

проблема была, я пытался играть и URL-адрес, где ожидал ури ... я должен был использовать другой метод, чтобы играть с URL-адресом и использовать что-то вроде видеоизображения ... это было не с разрешениями ... –

Смежные вопросы