VideoFragment.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. package com.edufound.android.xyyf.fragment;
  2. import android.app.Fragment;
  3. import android.content.Intent;
  4. import android.net.Uri;
  5. import android.os.Bundle;
  6. import android.support.annotation.Nullable;
  7. import android.support.v7.widget.CardView;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.FrameLayout;
  12. import com.edufound.android.xyyf.R;
  13. import com.edufound.android.xyyf.video.VideoAView;
  14. import com.edufound.android.xyyf.video.VideoPersenter;
  15. import com.edufound.android.xyyf.view.CusVideoView;
  16. import com.google.gson.Gson;
  17. public class VideoFragment extends Fragment implements VideoAView {
  18. FrameLayout mFragmentView;
  19. CusVideoView mVideoView;
  20. CardView mCardView;
  21. VideoPersenter mPersenter;
  22. private Gson mGson;
  23. int mPlayIndex;
  24. int mPlayType;
  25. String mPlayingId;
  26. String mPlayNeedPost;
  27. String mPlayerModuleType;
  28. private VideoPersenter.VideoJsonBean[] mVideoBean;
  29. int mPlayStartTime;
  30. //单独播放,播放完成直接关闭
  31. final int TYPE_SEPARATELY_PLAY = 0;
  32. //单独循环播放,一直循环
  33. final int TYPE_SINGLECYCLE_PLAY = 1;
  34. //列表播放,播放完列表关闭
  35. final int TYPE_LIST_PLAY = 2;
  36. String SINGLECYCLE_URL = "";
  37. @Override
  38. public void onCreate(@Nullable Bundle savedInstanceState) {
  39. super.onCreate(savedInstanceState);
  40. initOther();
  41. }
  42. @Nullable
  43. @Override
  44. public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
  45. mFragmentView = (FrameLayout) inflater.inflate(R.layout.fragment_video, null);
  46. mCardView = mFragmentView.findViewById(R.id.fragment_cardview);
  47. mVideoView = mFragmentView.findViewById(R.id.fragment_video);
  48. mVideoView.setVideoURI(Uri.parse("https://www.apple.com/105/media/cn/iphone-x/2017/01df5b43-28e4-4848-bf20-490c34a926a7/films/feature/iphone-x-feature-cn-20170912_1280x720h.mp4"));
  49. mVideoView.start();
  50. try {
  51. // initVideo();
  52. } catch (Exception e) {
  53. e.printStackTrace();
  54. }
  55. return mFragmentView;
  56. }
  57. @Nullable
  58. @Override
  59. public View getView() {
  60. return mFragmentView;
  61. }
  62. void initOther() {
  63. mGson = new Gson();
  64. mPersenter = new VideoPersenter(this);
  65. }
  66. public CardView getmCardView() {
  67. return mCardView;
  68. }
  69. void initVideo() throws Exception {
  70. Bundle bundle = getArguments();
  71. Intent intent = new Intent();
  72. intent.putExtra("play_jsons", bundle.getString("play_jsons"));
  73. intent.putExtra("play_index", bundle.getInt("play_index", 0));
  74. intent.putExtra("play_type", bundle.getInt("play_type", 0));
  75. intent.putExtra("play_moduletype", bundle.getString("play_moduletype"));
  76. mPersenter.loadVideo(intent);
  77. }
  78. @Override
  79. public void onDestroy() {
  80. super.onDestroy();
  81. }
  82. @Override
  83. public void onDestroyView() {
  84. super.onDestroyView();
  85. mFragmentView = null;
  86. mVideoView.stopPlayback();
  87. mVideoView.resume();
  88. mVideoView = null;
  89. }
  90. @Override
  91. public void setVideoUri(Uri uri) {
  92. }
  93. @Override
  94. public void start() {
  95. }
  96. @Override
  97. public void pause() {
  98. }
  99. @Override
  100. public void stop() {
  101. }
  102. @Override
  103. public void releaseVideo() {
  104. }
  105. @Override
  106. public void seek(int seek) {
  107. }
  108. @Override
  109. public boolean isPlaying() {
  110. return false;
  111. }
  112. @Override
  113. public int getDuration() {
  114. return 0;
  115. }
  116. @Override
  117. public int getCurrent() {
  118. return 0;
  119. }
  120. @Override
  121. public void activityFinish() {
  122. }
  123. @Override
  124. public void showData(String text) {
  125. }
  126. @Override
  127. public void DisconnNetWork() {
  128. }
  129. @Override
  130. public void ConnNeWork() {
  131. }
  132. }