2014-02-26 57 views
3

我尝试使用YouTube视频APIYouTube视频400网络时,尝试播放视频

当我把静态ID播放视频是指当时的代码文件中声明ID工作。

但是,当我尝试从getIntent()获取ID时,我也获得了ID,但视频无法播放。

我得到了网络有问题。

以下是我的代码。它在这种情况下工作。

public String VIDEO = "QqnBjKnwCwE"; 

youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); 
     youTubeView.initialize(DEVELOPER_KEY, Videosshow.this); 

@Override 
    public void onInitializationFailure(Provider provider, 
      YouTubeInitializationResult error) { 
     Toast.makeText(this, "Oh no! " + error.toString(), Toast.LENGTH_LONG) 
       .show(); 
    } 

    @Override 
    public void onInitializationSuccess(Provider provider, 
      YouTubePlayer player, boolean wasRestored) { 

     player.loadVideo(String.valueOf(VIDEO)); 
    } 

现在,当我使用

Bundle data = getIntent().getExtras(); 

     VIDEO=data.getString("videourl"); 
     youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); 
     youTubeView.initialize(DEVELOPER_KEY, Videosshow.this); 

不工作我得到了400网络问题错误

+0

试试这个答案..我也面对同样的问题通过这个想法修复http://stackoverflow.com/a/37747713/3879847 –

回答

1

检查你的身份证。我认为这是在ID或YouTube网址空间开始或结束。我有类似的问题,并由此解决。你也应该尝试。如果你已经正确设置好了,这可能会有所帮助。

0

我有同样的问题,但从URL检索视频ID解决了我的问题。

String video_id=jsonObject.getString("id"); 

谢谢你ritesh。

1

我发现我发送的ID不正确,它有一个额外的=(say = hdeFZ6nt9tc),它不会被发送。问题出在我从YouTube的实际URL中提取出来(例如https://www.youtube.com/watch?v=hdeFZ6nt9tc)。我希望即使你也可能发送了错误的ID。 即使您非常确定,请再次仔细检查。 我认为youtube必须发送一个404(通常是指网页上的“Page Not Found”)来处理这些请求。