2017-08-14 42 views
0

我打算使用this小型圖書館稱爲「Casty」(在谷歌演員V3建)來實現我的應用程序Video Casting功能投放影片到電視。使用MediaRouteButton

我要實現鑄件的YouTube視頻(S)就像this一個

下面是代碼,我已經通過了一些Web基於視頻通過的Chromecast複製(Android TV上這應該play a Video URL):

public class MainActivity extends AppCompatActivity { 
    private Button playButton; 
    private Casty casty; 

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

     casty = Casty.create(this) 
       .withMiniController(); 
     setUpPlayButton(); 
     setUpMediaRouteButton(); 
    } 

    private void setUpPlayButton() { 
     playButton = (Button) findViewById(R.id.button_play); 
     playButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       casty.getPlayer().loadMediaAndPlay(createSampleMediaData()); 
      } 
     }); 
     casty.setOnConnectChangeListener(new Casty.OnConnectChangeListener() { 
      @Override 
      public void onConnected() { 
       playButton.setEnabled(true); 
      } 

      @Override 
      public void onDisconnected() { 
       playButton.setEnabled(false); 
      } 
     }); 
    } 

    private void setUpMediaRouteButton() { 
     MediaRouteButton mediaRouteButton = (MediaRouteButton) findViewById(R.id.media_route_button); 
     casty.setUpMediaRouteButton(mediaRouteButton); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     super.onCreateOptionsMenu(menu); 
     casty.addMediaRouteMenuItem(menu); 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    private static MediaData createSampleMediaData() { 
     return new MediaData.Builder("http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4") 
       .setStreamType(MediaData.STREAM_TYPE_BUFFERED) 
       .setContentType("videos/mp4") 
       .setMediaType(MediaData.MEDIA_TYPE_MOVIE) 
       .setTitle("Sample title") 
       .setSubtitle("Sample subtitle") 
       .addPhotoUrl("https://peach.blender.org/wp-content/uploads/bbb-splash.png?x11217") 
       .build(); 
    } 
} 

注:我沒有檢查它,因爲我沒有那些事需要測試投射功能......像的Chromecast和電視

我的要求

除了一些Web based Video URL,如果我將使用相同的lib喜歡投YouTube視頻,我希望我的code should look這樣與否:

return new MediaData.Builder("https://www.youtube.com/watch?v=RKjUPQCXnsM") 

我在我的腦海的兩個問題:

1.我需要保持播放和暫停按鈕(在YouTube視頻的情況下)?

我想什麼:我個人認爲,我不需要單獨使用播放和暫停按鈕來控制媒體播放(因爲YouTube會處理這個問題本身) - 我是對還是錯?

  • 如果我是正確的,那麼在那裏,當我需要使用createSampleMediaData()方法
  • 那麼,你認爲如何我們MainActivity.java應該看就像投射YouTube視頻一樣?

    The bad thing is, I don't have TV, otherwise, I can give many tries to get this done. 
    

    回答