2014-02-26 136 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」)來處理這些請求。