2013-05-22 36 views
0

我正在Youtube上创建视频播放应用程序。我已经使用gdata API提取了视频数据,并获得了格式为1,6的3gp url。这是我从Media:Group - > Media:content元素中提取的。 我的设备信息Android 4.0.3和型号Micromax P350。RTSP视频的网址无法在VideoView中工作

这些视频在VLC播放器中工作,但不在VideoView在我的应用程序中输入代码。这里是我的代码:

<LinearLayout 
     android:id="@+id/LinearLayout01" 
     android:layout_height="fill_parent"  
     android:paddingLeft="2px" 
     android:paddingRight="2px" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:paddi`enter code here`ngTop="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" /> 

    </LinearLayout> 

MainActivity.java

package com.example.firstapp; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.MediaController; 
import android.widget.VideoView; 

public class MainActivity extends Activity { 

    @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

      VideoView videoView = (VideoView)findViewById(R.id.VideoView); 
      //MediaController mediaController = new MediaController(this); 
      // mediaController.setAnchorView(videoView); 
      //videoView.setMediaController(mediaController); 

      videoView.setVideoPath("rtsp://v1.cache8.c.youtube.com/CiILENy73wIaGQneb1Sj_PGnoRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp"); 


      videoView.start(); 
     } 
} 

回答

0

必须为您的视频不支持的格式之一:

http://developer.android.com/guide/appendix/media-formats.html

+0

嗨,这个视频网址来自Youtube,并且在VLC中播放得很好。但不在我的应用程序中。这发生在同一个设备上。 –

+0

它可以发生在同一个设备上,YouTube不必使用与您的应用相同的VideoView。 –

+0

就像从同一个网址进行流式传输一样,它在VLC中的工作原理与它在VideoView中的工作方式或者类似于android中的控件一样。你可以指向我正确的方式在Android应用程序蒸?谢谢 –

0
//play rtsp stream 
private void PlayRtspStream(String rtspUrl){ 
    videoView.setVideoURI(Uri.parse(rtspUrl)); 
    videoView.requestFocus(); 
    videoView.start(); 
}