2013-04-25 75 views
2

我有一个数组中的url字符串。如何在gridview中显示视频的网址,并点击下一个屏幕中的网格播放。 如何实现这个?任何一个指导我..如何使用视频网址字符串在网格视图中显示视频

我试过像其作品fine..How实现对视频,阵列是string..url ..

public class act extends Activity { 
/** Called when the activity is first created. */ 
//Integer[] imageIDs={R.drawable.icon,R.drawable.icon,R.drawable.icon}; 
String uri1="https://i3.ytimg.com/vi/bQaWsVQSLdY/default.jpg"; 
String uri2="https://i4.ytimg.com/vi/cJQCniWQdno/mqdefault.jpg"; 
String uri3="https://i1.ytimg.com/vi/D8dA4pE5hEY/mqdefault.jpg"; 
String[] urls={uri1,uri2,uri3}; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    GridView grd=(GridView)findViewById(R.id.gridView1); 
    grd.setAdapter(new ImageAdapter(this)); 
    grd.setOnItemClickListener(new OnItemClickListener() 
    { 
    public void onItemClick(AdapterView<?> parent,View v,int pos,long id) 
    { 
     Toast.makeText(getBaseContext(),"pic"+(pos+1)+"select ",Toast.LENGTH_SHORT).show(); 
    } 
    }); 
} 
public class ImageAdapter extends BaseAdapter 
{ 
    private Context context; 
    private int itemBackground; 
    ImageAdapter(Context c) 
    { 
    context=c; 
    TypedArray a=obtainStyledAttributes(R.styleable.Gallery1); 
    itemBackground=a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground,0); 
    a.recycle(); 
    } 
    public int getCount() 
    { 
     return urls.length; 
    } 
    public Object getItem(int pos) 
    { 
     return pos; 
    } 
    public long getItemId(int pos) 
    { 
     return pos; 
    } 
    public View getView(int pos,View cv,ViewGroup vg) 
    { 
     ImageView imageview=new ImageView(context); 
     imageview.setImageResource(urls.length); 
     imageview.setScaleType(ImageView.ScaleType.FIT_XY); 
     imageview.setLayoutParams(new GridView.LayoutParams(150,120)); 
     imageview.setBackgroundResource(itemBackground); 
     return imageview; 
    } 
    } 
} 

非常感谢提前....

+0

视频快到形式在哪里?自己的服务器或YouTube? – 2013-04-25 05:54:05

+0

将youtube链接存储在服务器中,其来自服务器 – 2013-04-25 06:01:01

+0

,那么youtube会为您提供该视频的缩略图。你为什么不想显示文本? – 2013-04-25 06:13:06

回答

4

你错了,在这个舞台上。

How to display the url of video in gridview ? 

不要尝试将URL打印到网格视图项目中。 YouTube会在不同的框架中提供特定视频的缩略图。所以请直接使用该网址并播放。

下面是YouTube的缩略图(通过帧顺序)

YouTube网址的图片网址:http://img.youtube.com/vi/

VIDEO_ID: AxeOPU6n1_M

帧号:0.jpg

最终YouTube缩略图网址

http://img.youtube.com/vi/AxeOPU6n1_M/0.jpg

http://img.youtube.com/vi/AxeOPU6n1_M/1.jpg

http://img.youtube.com/vi/AxeOPU6n1_M/2.jpg

所以,在结束时,你必须从网络服务获得youtube_img_url所以你可以使用它。

如果你不知道如何设置来自服务器的图像,请查看下面的链接。

Example - 1

LazyList

两个例子是很好的,现在你必须只需更新你的代码按要求。

How to play on click the grid plays in next screen. 

这里应该是通过意图调用的新活动,这将在YouTube播放器中播放。

@Override 
     public void onCreate(Bundle savedInstanceState) 
     { 
     super.onCreate(savedInstanceState); 
      setContentView(R.layout.videoplaying); 
      String url= "Your url"; 
      Uri uri=Uri.parse(url); 
      VideoView video=(VideoView)findViewById(R.id.videoplaying); 
      video.setVideoURI(uri); 
      video.start(); 
     } 
+0

我的链接像这样[https://www.youtube.com/embed/exdhhTjP00g?feature=player_detailpage] – 2013-04-25 06:53:45

+0

我不会打印的网址我应该显示视频的网址缩略图在网格....你能理解.. – 2013-04-25 06:55:38

+0

请指导在代码中显示网格视频的网址... – 2013-04-25 06:57:53

1

你试试这个:

选择一个图像时,请使用该特定网址,然后开始新的活动。

新活动代码:

@Override 
     public void onCreate(Bundle savedInstanceState) 
     { 
     super.onCreate(savedInstanceState); 
      setContentView(R.layout.videoplaying); 
      String url= "Your url"; 
      Uri uri=Uri.parse(url); 
      VideoView video=(VideoView)findViewById(R.id.videoplaying); 
      video.setVideoURI(uri); 
      video.start(); 
     } 
+0

请先阅读标题,他没有问及如何播放。他想要显示该链接或缩略图。 – 2013-04-25 06:19:37

+0

@chintankhetiya你的权利..我需要在网格中的视频缩略图... – 2013-04-25 06:21:22

+0

@ chintan khetiya他还要求在下一个屏幕播放该视频。这个答案是为了.. – Subburaj 2013-04-25 06:22:18

-1
@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.video); 
     String url= "Write your Url"; 
     Uri uri=Uri.parse(url); 
     VideoView video=(VideoView)findViewById(R.id.videoview); 
     video.setVideoURI(uri); 
     video.start(); 
    }