2016-03-21 6 views
1

Ich benutze VideoView um Video von URL zu spielen. Wenn ich app laufen gibt es Fehler Can't play this video mit unter msg in logcatPlay mp4 video von url

Couldn't open file on client side; trying server side:java.io.FileNotFoundException: No content provider:aklearningsolutions.com/video/Nursery%20Rhymes.mp4 

Unable to open content: aklearningsolutions.com/video/Nursery%20Rhymes.mp4 
                  java.io.IOException: setDataSource failed. 
                   at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1095) 
                   at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1069) 
                   at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1023) 

unten ist meine Aktivitätsdatei

package com.dp.videostore.Activity; 

import android.net.Uri; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.TextureView; 
import android.widget.MediaController; 
import android.widget.VideoView; 

import com.dp.videostore.R; 

public class PlayerActivity extends AppCompatActivity { 
    VideoView videoView; 
    String url = "aklearningsolutions.com/video/Nursery Rhymes.mp4"; 
    MediaController mc; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_player); 
     videoView = (VideoView)findViewById(R.id.video_view); 
     try { 
      mc = new MediaController(this); 
      mc.setAnchorView(videoView); 
      mc.setMediaPlayer(videoView); 
      videoView.setMediaController(mc); 
      Uri link = Uri.parse(url.replace(" ","%20")); 
      videoView.setVideoURI(link); 
      videoView.requestFocus(); 
      videoView.start(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 


} 

unten meine XML-Datei

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.dp.videostore.Activity.PlayerActivity"> 

    <VideoView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/video_view"/> 


</RelativeLayout> 

Wenn ich Video-Link Hit in Webbrowser, Video spielt sehr gut im Browser

+0

Haben Sie versucht, eine Datei herunterzuladen und von einer lokalen Festplatte wiederzugeben? Führt der Webserver eine Weiterleitung an einen anderen Ort durch, sodass die URL keine echte Verbindung zu mp4 ist? – Whome

+0

Ihre URL hat nicht 'http: //' davor ... –

+0

Ihr Link muss so sein http://aklearningsolutions.com/video/Nursery 20Rhymes.mp4 –

Antwort

4

Versuchen Sie, das Protokoll in Ihre URL zu setzen. So wie es ist, denkt Android, dass Sie einen ContentProvider verwenden

String url = "http://aklearningsolutions.com/video/Nursery Rhymes.mp4";