2011-06-29 107 views
3

我編寫了從URL播放視頻的代碼。但我得到UNABLE TO PLAY VIDEO消息。如何在Android中播放視頻URL

請人幫我

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    VideoView videoView = (VideoView) findViewById(R.id.video); 
    MediaController mc = new MediaController(this); 
    mc.setAnchorView(videoView); 
    mc.setMediaPlayer(videoView); 
    Uri video = Uri.parse("http://www.youtube.com/watch?v=qvtCk1wZ7LM&feature=player_detailpage"); 
    videoView.setMediaController(mc); 
    videoView.setVideoURI(video); 
    videoView.start(); 

} 
<VideoView 
android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/video"></VideoView> 
+0

嗨,我得到的代碼,它非常簡單 – user746140

+0

只要寫插座PROGRAMM與WIFI打印機IP – user746140

+0

你可以把logcat的痕跡,所以我們可以採取alook一個它 – Necronet

回答

-1

下面是播放視頻的簡單和容易的方法。

xml文件...

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout android:id="@+id/LinearLayout01" 
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" 
android:paddingLeft="2px" android:paddingRight="2px" 
android:paddingTop="2px" android:paddingBottom="2px" 
android:layout_width="fill_parent" android:orientation="vertical"> 

    <VideoView android:layout_height="fill_parent" 
    android:layout_width="fill_parent" android:id="@+id/VideoView"></VideoView> 

</LinearLayout> 

的java文件.....

public class VideoPlayerController extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.video); 

     VideoView videoView = (VideoView) findViewById(R.id.VideoView); 
     MediaController mediaController = new MediaController(this); 
     mediaController.setAnchorView(videoView); 
     // Set video link (mp4 format) 
     Uri video = Uri.parse("mp4 video link"); 
     videoView.setMediaController(mediaController); 
     videoView.setVideoURI(video); 
     videoView.start(); 

    } 

} 
+0

我也嘗試相同的代碼爲MP4視頻格式,但我沒有得到任何結果 – user746140

0

你可以簡單火災的意圖被另一個應用程序播放視頻。
在這裏,Youtube應用程序將檢測Youtube視頻,並提示對話框以您的名義播放視頻。

String url = "http://www.youtube.com/watch?v=qvtCk1wZ7LM"; 
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
    startActivity(intent); 

但如果你真的要整合應用內的視頻播放器,我強烈建議您看看的Youtube API

0

它的簡單只是創建視頻視圖,然後添加一個新的媒體控制器,在視頻視圖中設置視頻網址,並啓動它將工作的視頻。

將以下代碼添加到您的MainActivity.java文件中。

@Override 

    protected void onCreate(Bundle savedInstanceState) 

      // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     try { 
     setContentView(R.layout.videodisplay); 
     String link="http://s1133.photobucket.com/albums/m590/Anniebabycupcakez/?action=view&amp; current=1376992942447_242.mp4"; 
     VideoView videoView = (VideoView) findViewById(R.id.VideoView); 
     MediaController mediaController = new MediaController(this); 
     mediaController.setAnchorView(videoView); 
     Uri video = Uri.parse(link); 
     videoView.setMediaController(mediaController); 
     videoView.setVideoURI(video); 
     videoView.start(); 
    } catch (Exception e) { 
     // TODO: handle exception 
     Toast.makeText(this, "Error connecting", Toast.LENGTH_SHORT).show(); 
    } 
} 

你最好試一下離線文件,以確保該視頻查看器工作正常(視頻是與設備兼容),然後從YouTube在線播放。

+0

請不要只是張貼代碼。一點點的解釋會幫助他人理解 – Nabin

-1

某些文件格式如youtube視頻文件格式無法在視頻視圖中打開。 videoview只支持系統文件格式,可以像mp4一樣操作它。 3gp。其他... 爲開飛的視頻格式,你必須使用surfeview和創建類,可以HANDL此視頻類型 和GET視頻從鏈路中使用的InputStream(不使用字符串) 等簡單的方式展示YouTube視頻只需使用Intent.View,網址(視頻URI) https://developer.android.com/guide/appendix/media-formats.html

+0

這很難理解。請編輯以澄清你的意思,尤其是特別支持哪些格式。 –