3

我在数组中有一个 URL 字符串。如何在网格视图中显示视频的 URL,然后单击网格在下一个屏幕中播放。如何实施?谁指导我...

我尝试了它工作正常的图像。视频如何实现,数组是字符串...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;
    }
  }
}

非常感谢提前...

4

4 回答 4

5

在这个阶段你错了。

How to display the url of video in gridview ?

不要尝试将您的 URL 打印到网格视图项中。YouTube 提供了不同帧中特定视频的缩略图。所以直接使用该 URL 并播放。

这是 YouTube 缩略图的图片 URL(按帧排序)

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从网络服务中获取,这样你才能使用它。

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

示例 - 1

懒惰列表

这两个示例都很好,现在您只需根据要求更新您的代码。

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();
        }
于 2013-04-25T06:36:55.047 回答
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();
        }
于 2013-04-25T06:18:18.267 回答
-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();
    }
于 2015-04-29T12:59:30.207 回答
-1

您可以参考this进行媒体播放

https://developer.android.com/guide/topics/media/mediaplayer.html

于 2013-04-25T06:01:23.567 回答