2017年5月7日 星期日

exoplayer佈局原理

exo_simple_player_view.xml

  <View android:id="@id/exo_controller_placeholder"
      android:layout_width="match_parent"
      android:layout_height="match_parent"/>

-------------------------


    View controllerPlaceholder = findViewById(R.id.exo_controller_placeholder);
    if (controllerPlaceholder != null) {
      // Note: rewindMs and fastForwardMs are passed via attrs, so we don't need to make explicit
      // calls to set them.
      this.controller = new PlaybackControlView(context, attrs);
      controller.setLayoutParams(controllerPlaceholder.getLayoutParams());
      ViewGroup parent = ((ViewGroup) controllerPlaceholder.getParent());
      int controllerIndex = parent.indexOfChild(controllerPlaceholder);
      parent.removeView(controllerPlaceholder);
      parent.addView(controller, controllerIndex);
    } else {
      this.controller = null;
    }

-------------------------

exo_controller_placeholder

--------------------------




http://fecbob.pixnet.net/blog/post/35999655-%5Bandroid%5D-expandablelistview%E7%B0%A1%E5%96%AE%E7%94%A8%E6%B3%95

意圖和意圖篩選器


https://developer.android.com/guide/components/intents-filters.html?hl=zh-tw


















好的說明範例!!!

[Andriod] 透過setContentView轉換layout


https://dotblogs.com.tw/psjhuo/2013/04/18/101805



---------------------------------------
























https://developer.android.com/reference/android/content/Intent.html#ACTION_VIEW










    // Playback control view.
    View controllerPlaceholder = findViewById(R.id.exo_controller_placeholder);
    if (controllerPlaceholder != null) {
      // Note: rewindMs and fastForwardMs are passed via attrs, so we don't need to make explicit
      // calls to set them.
      this.controller = new PlaybackControlView(context, attrs);
      controller.setLayoutParams(controllerPlaceholder.getLayoutParams());
      ViewGroup parent = ((ViewGroup) controllerPlaceholder.getParent());
      int controllerIndex = parent.indexOfChild(controllerPlaceholder);
      parent.removeView(controllerPlaceholder);
      parent.addView(controller, controllerIndex);
    } else {
      this.controller = null;
    }



Step 1:
Intent intent = new Intent(context, PlayerActivity.class);


Step 2:
    @Override
    public Intent buildIntent(Context context) {
      return super.buildIntent(context)
          .setData(Uri.parse(uri))
          .putExtra(PlayerActivity.EXTENSION_EXTRA, extension)
          .setAction(PlayerActivity.ACTION_VIEW);
    }

Step 3:
    @Override
    protected void onPostExecute(List<SampleGroup> result) {

      Log.d(TAG1, "onPostExecute() thread = " + Thread.currentThread().getId()); 
 
      onSampleGroups(result, sawError);
    }
如何從SampleChooserActivity 轉到 PlayerActivity











Q1: SimpleExoPlayerView怎麼來的?


沒有留言:

張貼留言