├── .gitignore ├── KsyunPlayerDemo ├── .gitignore ├── .idea │ ├── compiler.xml │ ├── copyright │ │ └── profiles_settings.xml │ ├── gradle.xml │ ├── modules.xml │ └── runConfigurations.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── libs │ │ ├── arm64-v8a │ │ │ └── libBugly.so │ │ ├── armeabi-v7a │ │ │ └── libBugly.so │ │ └── bugly_crashreport_upgrade-1.3.1.aar │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── ksyun │ │ │ └── player │ │ │ └── demo │ │ │ ├── ChooseActivity.java │ │ │ ├── PlayerApplication.java │ │ │ └── SplashActivity.java │ │ └── res │ │ ├── drawable │ │ ├── change_to_oldversion.png │ │ ├── live.png │ │ ├── splash_background.png │ │ ├── to_old_version.xml │ │ └── vod.png │ │ ├── layout │ │ ├── activity_choose.xml │ │ └── activity_splash.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── newplayerdemo │ ├── .gitignore │ ├── build.gradle │ ├── libs │ │ ├── fastjson-1.1.33.jar │ │ └── zxing.jar │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── ksyun │ │ │ │ └── player │ │ │ │ └── now │ │ │ │ ├── activity │ │ │ │ ├── CaptureNewActivity.java │ │ │ │ ├── LiveDisplayActivity.java │ │ │ │ ├── LiveMainActivity.java │ │ │ │ ├── SettingNewActivity.java │ │ │ │ ├── VodDisplayActivity.java │ │ │ │ └── VodMainActivity.java │ │ │ │ ├── adapter │ │ │ │ ├── LiveMainAdapter.java │ │ │ │ ├── VodDiaplayAdapter.java │ │ │ │ └── VodMainAdapter.java │ │ │ │ ├── bean │ │ │ │ ├── LiveBean.java │ │ │ │ ├── QosBean.java │ │ │ │ └── VodBean.java │ │ │ │ ├── model │ │ │ │ ├── FloatingPlayer.java │ │ │ │ └── NetState.java │ │ │ │ ├── utils │ │ │ │ ├── AbstractPathAnimator.java │ │ │ │ ├── CpuInfo.java │ │ │ │ ├── Dialog.java │ │ │ │ ├── Display.java │ │ │ │ ├── Ids.java │ │ │ │ ├── MyRequest.java │ │ │ │ ├── NetStateUtil.java │ │ │ │ ├── PathAnimator.java │ │ │ │ ├── PixelUtils.java │ │ │ │ ├── QosInfoThread.java │ │ │ │ ├── Setting.java │ │ │ │ ├── Strings.java │ │ │ │ └── Urls.java │ │ │ │ ├── view │ │ │ │ ├── DisplayProgressBar.java │ │ │ │ ├── FloatWindowView.java │ │ │ │ ├── HeartLayout.java │ │ │ │ ├── HeartView.java │ │ │ │ ├── RecordingProgressBar.java │ │ │ │ ├── VerticalSeekBar.java │ │ │ │ └── VideoLoadMoreListView.java │ │ │ │ └── zxing │ │ │ │ ├── camera │ │ │ │ ├── AutoFocusCallback.java │ │ │ │ ├── CameraConfigurationManager.java │ │ │ │ ├── CameraManager.java │ │ │ │ ├── FlashlightManager.java │ │ │ │ ├── PlanarYUVLuminanceSource.java │ │ │ │ └── PreviewCallback.java │ │ │ │ ├── decoding │ │ │ │ ├── CaptureActivityHandler.java │ │ │ │ ├── DecodeFormatManager.java │ │ │ │ ├── DecodeHandler.java │ │ │ │ ├── DecodeThread.java │ │ │ │ ├── FinishListener.java │ │ │ │ ├── InactivityTimer.java │ │ │ │ └── Intents.java │ │ │ │ ├── encoding │ │ │ │ └── EncodingHandler.java │ │ │ │ └── view │ │ │ │ ├── ViewfinderResultPointCallback.java │ │ │ │ └── ViewfinderView.java │ │ └── res │ │ │ ├── drawable-xxhdpi │ │ │ ├── btn_like2_h.png │ │ │ ├── heart.png │ │ │ ├── heart0.png │ │ │ ├── heart1.png │ │ │ ├── heart10.png │ │ │ ├── heart11.png │ │ │ ├── heart2.png │ │ │ ├── heart3.png │ │ │ ├── heart4.png │ │ │ ├── heart5.png │ │ │ ├── heart6.png │ │ │ ├── heart7.png │ │ │ ├── heart8.png │ │ │ ├── heart9.png │ │ │ ├── icon_like_png.png │ │ │ ├── icon_like_pressed.png │ │ │ └── icon_red_hearts.png │ │ │ ├── drawable │ │ │ ├── config.png │ │ │ ├── dialog_bg.xml │ │ │ ├── full_screen.png │ │ │ ├── icon_like.xml │ │ │ ├── list_select_bg.xml │ │ │ ├── next.png │ │ │ ├── panel_bg.xml │ │ │ ├── player_seekbar.xml │ │ │ ├── player_seekbar_selector.xml │ │ │ ├── player_seekbar_thumb.xml │ │ │ ├── po_seekbar.xml │ │ │ ├── point.xml │ │ │ ├── progress_anim.xml │ │ │ ├── progress_bar.xml │ │ │ ├── radio_button.xml │ │ │ ├── text_color.xml │ │ │ ├── thumb.xml │ │ │ └── zxing.png │ │ │ ├── layout │ │ │ ├── activity_live_display_landscape.xml │ │ │ ├── activity_live_display_portrait.xml │ │ │ ├── activity_live_main.xml │ │ │ ├── activity_setting_new.xml │ │ │ ├── activity_vod_display.xml │ │ │ ├── activity_vod_main.xml │ │ │ ├── camera_new.xml │ │ │ ├── floating_player_window.xml │ │ │ ├── footer_view.xml │ │ │ ├── header_view.xml │ │ │ ├── item_vod_display.xml │ │ │ ├── item_vod_main.xml │ │ │ ├── item_vod_main_header.xml │ │ │ └── ly_periscope.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── cover.png │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── back.png │ │ │ ├── brightness.png │ │ │ ├── cap_pause.png │ │ │ ├── checked.png │ │ │ ├── close.png │ │ │ ├── close_floating_window.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ ├── like.png │ │ │ ├── loading_1.png │ │ │ ├── loading_10.png │ │ │ ├── loading_11.png │ │ │ ├── loading_12.png │ │ │ ├── loading_2.png │ │ │ ├── loading_3.png │ │ │ ├── loading_4.png │ │ │ ├── loading_5.png │ │ │ ├── loading_6.png │ │ │ ├── loading_7.png │ │ │ ├── loading_8.png │ │ │ ├── loading_9.png │ │ │ ├── logo.png │ │ │ ├── mirror.png │ │ │ ├── more.png │ │ │ ├── next.png │ │ │ ├── novolumn.png │ │ │ ├── open.png │ │ │ ├── rotation.png │ │ │ ├── screen_cap.png │ │ │ ├── screen_shot.png │ │ │ ├── start.png │ │ │ ├── stop_full_screen.png │ │ │ ├── stop_not_full_screen.png │ │ │ ├── unchecked.png │ │ │ ├── volumn.png │ │ │ └── volumn1.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── raw │ │ │ ├── beep.ogg │ │ │ └── realm_properties │ │ │ ├── values-v19 │ │ │ └── styles.xml │ │ │ └── values │ │ │ ├── attrs.xml │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── ids.xml │ │ │ ├── integers.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── ksyun │ │ └── player │ │ └── now │ │ └── ExampleUnitTest.java ├── oldplayerdemo │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── ksyun │ │ │ └── player │ │ │ └── old │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── ksyun │ │ │ │ └── player │ │ │ │ └── old │ │ │ │ ├── model │ │ │ │ ├── KSYFloatingPlayer.java │ │ │ │ ├── MyVideoThumbLoader.java │ │ │ │ ├── NetDbAdapter.java │ │ │ │ ├── NetState.java │ │ │ │ ├── NetbaseHelper.java │ │ │ │ └── Strings.java │ │ │ │ ├── ui │ │ │ │ ├── activity │ │ │ │ │ ├── CaptureActivity.java │ │ │ │ │ ├── HistoryActivity.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── NetMediaActivty.java │ │ │ │ │ ├── SettingActivity.java │ │ │ │ │ └── player │ │ │ │ │ │ ├── FloatingPlayingActivity.java │ │ │ │ │ │ ├── FloatingVideoActivity.java │ │ │ │ │ │ ├── MediaPlayerActivity.java │ │ │ │ │ │ ├── TextureVideoActivity.java │ │ │ │ │ │ └── TextureVodActivity.java │ │ │ │ ├── fragment │ │ │ │ │ ├── LocalFragment.java │ │ │ │ │ ├── StreamInfoFragment.java │ │ │ │ │ └── SubtitleExplorerFragment.java │ │ │ │ ├── others │ │ │ │ │ ├── JieVideoListViewAdapter.java │ │ │ │ │ └── StreamInfoAdapter.java │ │ │ │ └── view │ │ │ │ │ ├── KSYFloatingWindowView.java │ │ │ │ │ └── LoadMoreListView.java │ │ │ │ ├── util │ │ │ │ ├── Cpu.java │ │ │ │ ├── Extensions.java │ │ │ │ ├── LoadedImage.java │ │ │ │ ├── NetStateUtil.java │ │ │ │ ├── ProgressTextView.java │ │ │ │ ├── QosObject.java │ │ │ │ ├── QosThread.java │ │ │ │ ├── RawResourceReader.java │ │ │ │ ├── Settings.java │ │ │ │ ├── VerticalSeekBar.java │ │ │ │ └── Video.java │ │ │ │ └── zxing │ │ │ │ ├── camera │ │ │ │ ├── AutoFocusCallback.java │ │ │ │ ├── CameraConfigurationManager.java │ │ │ │ ├── CameraManager.java │ │ │ │ ├── FlashlightManager.java │ │ │ │ ├── PlanarYUVLuminanceSource.java │ │ │ │ └── PreviewCallback.java │ │ │ │ ├── decoding │ │ │ │ ├── CaptureActivityHandler.java │ │ │ │ ├── DecodeFormatManager.java │ │ │ │ ├── DecodeHandler.java │ │ │ │ ├── DecodeThread.java │ │ │ │ ├── FinishListener.java │ │ │ │ ├── InactivityTimer.java │ │ │ │ └── Intents.java │ │ │ │ ├── encoding │ │ │ │ └── EncodingHandler.java │ │ │ │ └── view │ │ │ │ ├── ViewfinderResultPointCallback.java │ │ │ │ └── ViewfinderView.java │ │ ├── libs │ │ │ └── zxing.jar │ │ └── res │ │ │ ├── anim │ │ │ ├── slide_in_bottom.xml │ │ │ ├── slide_in_top.xml │ │ │ ├── slide_left_in.xml │ │ │ ├── slide_left_out.xml │ │ │ ├── slide_out_bottom.xml │ │ │ ├── slide_out_top.xml │ │ │ ├── slide_right_in.xml │ │ │ ├── slide_right_out.xml │ │ │ └── slide_stand.xml │ │ │ ├── drawable │ │ │ ├── file.png │ │ │ ├── ksy_floating_back.png │ │ │ ├── ksy_floating_btn.png │ │ │ ├── ksy_floating_close.png │ │ │ ├── ksy_pause_btn.png │ │ │ ├── ksy_playing_btn.png │ │ │ ├── live_reload.png │ │ │ ├── mirror.png │ │ │ ├── player_panel_background.xml │ │ │ ├── player_seekbar.xml │ │ │ ├── player_seekbar_selector.xml │ │ │ ├── player_seekbar_thumb.xml │ │ │ ├── reload.png │ │ │ ├── rotate.png │ │ │ ├── scale.png │ │ │ ├── scale_fit.png │ │ │ ├── screen.png │ │ │ ├── video_image.png │ │ │ └── voice.png │ │ │ ├── layout │ │ │ ├── activity_floating.xml │ │ │ ├── activity_floating_playing.xml │ │ │ ├── activity_history.xml │ │ │ ├── activity_main.xml │ │ │ ├── activity_media_player.xml │ │ │ ├── activity_net.xml │ │ │ ├── activity_setting.xml │ │ │ ├── activity_vod.xml │ │ │ ├── camera.xml │ │ │ ├── floating_window.xml │ │ │ ├── fragment_local.xml │ │ │ ├── fragment_stream_info.xml │ │ │ ├── fragment_subtitle_explorer.xml │ │ │ ├── list_local.xml │ │ │ ├── listview_footer_view.xml │ │ │ ├── media_actionbar.xml │ │ │ ├── net_actionbar.xml │ │ │ ├── stream_info_item.xml │ │ │ └── texture_player.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── raw │ │ │ ├── beep.ogg │ │ │ └── realm_properties │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── attr.xml │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── ids.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── ksyun │ │ └── player │ │ └── old │ │ └── ExampleUnitTest.java ├── playerlib │ ├── .gitignore │ ├── build.gradle │ ├── libs │ │ ├── arm64-v8a │ │ │ └── libksyplayer.so │ │ ├── armeabi-v7a │ │ │ └── libksyplayer.so │ │ ├── libksyplayer.jar │ │ └── libksystat.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── demo │ │ │ └── playerlib │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── demo │ │ └── playerlib │ │ └── ExampleUnitTest.java └── settings.gradle ├── LICENSE ├── README.md ├── docs ├── assets │ ├── customizations.css │ ├── customizations.js │ ├── doclava-developer-core.css │ ├── doclava-developer-docs.css │ ├── doclava-developer-docs.js │ ├── doclava-developer-reference.js │ ├── images │ │ ├── bg_fade.jpg │ │ ├── bg_logo.png │ │ ├── body-gradient-tab.png │ │ ├── body-gradient.png │ │ ├── grad-rule-qv.png │ │ ├── hr_gray_main.jpg │ │ ├── hr_gray_side.jpg │ │ ├── left_off.jpg │ │ ├── left_on.jpg │ │ ├── preliminary.png │ │ ├── resizable-e.gif │ │ ├── resizable-e2.gif │ │ ├── resizable-eg.gif │ │ ├── resizable-s.gif │ │ ├── resizable-s2.gif │ │ ├── resizable-sg.gif │ │ ├── right_off.jpg │ │ ├── right_on.jpg │ │ ├── sidenav-rule.png │ │ ├── spacer.gif │ │ ├── triangle-closed-small.png │ │ ├── triangle-closed.png │ │ ├── triangle-opened-small.png │ │ └── triangle-opened.png │ ├── jquery-history.js │ ├── jquery-resizable.min.js │ ├── navtree_data.js │ ├── prettify.js │ ├── search_autocomplete.js │ ├── style.css │ └── triangle-none.gif ├── index.html └── reference │ ├── classes.html │ ├── com │ └── ksyun │ │ └── media │ │ └── player │ │ ├── IMediaController.MediaPlayerControl.html │ │ ├── IMediaController.html │ │ ├── IMediaPlayer.OnBufferingUpdateListener.html │ │ ├── IMediaPlayer.OnCompletionListener.html │ │ ├── IMediaPlayer.OnErrorListener.html │ │ ├── IMediaPlayer.OnInfoListener.html │ │ ├── IMediaPlayer.OnLogEventListener.html │ │ ├── IMediaPlayer.OnMessageListener.html │ │ ├── IMediaPlayer.OnPreparedListener.html │ │ ├── IMediaPlayer.OnSeekCompleteListener.html │ │ ├── IMediaPlayer.OnTimedTextListener.html │ │ ├── IMediaPlayer.OnVideoSizeChangedListener.html │ │ ├── IMediaPlayer.html │ │ ├── KSYHardwareDecodeWhiteList.html │ │ ├── KSYLibraryManager.html │ │ ├── KSYMediaMeta.KSYStreamMeta.html │ │ ├── KSYMediaMeta.html │ │ ├── KSYMediaPlayer.Builder.html │ │ ├── KSYMediaPlayer.KSYDecodeMode.html │ │ ├── KSYMediaPlayer.KSYDeinterlaceMode.html │ │ ├── KSYMediaPlayer.KSYReloadMode.html │ │ ├── KSYMediaPlayer.OnAudioPCMListener.html │ │ ├── KSYMediaPlayer.OnVideoRawDataListener.html │ │ ├── KSYMediaPlayer.OnVideoTextureListener.html │ │ ├── KSYMediaPlayer.html │ │ ├── KSYMediaRecorder.html │ │ ├── KSYNetworkDetector.KSYDetectorPacketType.html │ │ ├── KSYNetworkDetector.OnNetworkDetectionEventListener.html │ │ ├── KSYNetworkDetector.html │ │ ├── KSYTextureView.html │ │ ├── KSYVideoView.html │ │ ├── MediaInfo.html │ │ ├── annotations │ │ ├── AccessedByNative.html │ │ └── CalledByNative.html │ │ ├── detector │ │ ├── KSYNetworkTrackerConfig.html │ │ ├── KSYTrackerRouterInfo.html │ │ ├── package-descr.html │ │ └── package-summary.html │ │ ├── misc │ │ ├── AndroidTrackInfo.html │ │ ├── KSYListSourceMgr.html │ │ ├── KSYProbeMediaInfo.KSYAudioCodecType.html │ │ ├── KSYProbeMediaInfo.KSYAudioSampleFormat.html │ │ ├── KSYProbeMediaInfo.KSYMediaFormat.html │ │ ├── KSYProbeMediaInfo.KSYProbeMediaData.html │ │ ├── KSYProbeMediaInfo.KSYVideoCodecType.html │ │ ├── KSYProbeMediaInfo.html │ │ ├── KSYQosInfo.html │ │ ├── KSYTrackInfo.html │ │ ├── package-descr.html │ │ └── package-summary.html │ │ ├── package-descr.html │ │ ├── package-summary.html │ │ └── recorder │ │ ├── AudioRecorderConfig.html │ │ ├── VideoRecorderConfig.html │ │ ├── package-descr.html │ │ └── package-summary.html │ ├── current.xml │ ├── hierarchy.html │ ├── index.html │ ├── lists.js │ ├── package-list │ └── packages.html ├── libs_live ├── arm64-v8a │ └── libksyplayer.so ├── armeabi-v7a │ └── libksyplayer.so ├── armeabi │ └── libksyplayer.so ├── libksyplayer.jar ├── libksystat.jar ├── x86 │ └── libksyplayer.so └── x86_64 │ └── libksyplayer.so ├── libs_vod ├── arm64-v8a │ └── libksyplayer.so ├── armeabi-v7a │ └── libksyplayer.so ├── armeabi │ └── libksyplayer.so ├── libksyplayer.jar ├── libksystat.jar ├── x86 │ └── libksyplayer.so └── x86_64 │ └── libksyplayer.so └── src ├── KSYTextureView.java ├── KSYVideoView.java └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/android 2 | .DS_Store 3 | ### Android ### 4 | # Built application files 5 | *.ap_ 6 | .idea/ 7 | 8 | # Files for the Dalvik VM 9 | *.dex 10 | 11 | # Java class files 12 | *.class 13 | 14 | # Generated files 15 | bin/ 16 | gen/ 17 | 18 | # Gradle files 19 | .gradle/ 20 | build/ 21 | 22 | # Local configuration file (sdk path, etc) 23 | local.properties 24 | 25 | # Proguard folder generated by Eclipse 26 | proguard/ 27 | 28 | # Log Files 29 | *.log 30 | 31 | # Android Studio Navigation editor temp files 32 | .navigation/ 33 | 34 | # Android Studio captures folder 35 | captures/ 36 | 37 | ### Android Patch ### 38 | gen-external-apklibs 39 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 20 | 21 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | apply plugin: 'android-apt' 3 | android { 4 | compileSdkVersion 25 5 | buildToolsVersion "25.0.0" 6 | 7 | defaultConfig { 8 | applicationId "com.ksyun.player.demo" 9 | minSdkVersion 16 10 | targetSdkVersion 22 11 | versionCode 223 12 | versionName "2.2.3" 13 | 14 | ndk { 15 | abiFilters 'armeabi-v7a', 'arm64-v8a' 16 | } 17 | 18 | } 19 | buildTypes { 20 | release { 21 | minifyEnabled false 22 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 23 | } 24 | } 25 | sourceSets.main { 26 | jniLibs.srcDirs 'libs' 27 | jni.srcDirs = [] // This prevents the auto generation of Android.mk 28 | manifest.srcFile 'src/main/AndroidManifest.xml' 29 | } 30 | } 31 | repositories { 32 | flatDir { 33 | dirs 'libs' 34 | } 35 | } 36 | 37 | dependencies { 38 | compile fileTree(dir: 'libs', include: ['*.jar']) 39 | compile fileTree(include: ['*.jar'], dir: 'libs') 40 | compile fileTree(include: '*/so', dir: 'libs/armeabi-v7a') 41 | compile fileTree(include: '*/so', dir: 'libs/arm64-v8a') 42 | compile(name:'bugly_crashreport_upgrade-1.3.1', ext:'aar') 43 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 44 | exclude group: 'com.android.support', module: 'support-annotations' 45 | }) 46 | compile project(':oldplayerdemo') 47 | compile project(':newplayerdemo') 48 | compile project(':playerlib') 49 | 50 | compile 'com.android.support:appcompat-v7:25.3.1' 51 | compile 'com.android.support:design:25.3.1' 52 | compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' 53 | testCompile 'junit:junit:4.12' 54 | compile 'com.github.mzule.activityrouter:activityrouter:1.2.2' 55 | apt 'com.github.mzule.activityrouter:compiler:1.1.7' 56 | } 57 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/libs/arm64-v8a/libBugly.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc/KSYMediaPlayer_Android/2a90ecdfe78cb9315a01e3a528c76658807a4819/KsyunPlayerDemo/app/libs/arm64-v8a/libBugly.so -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/libs/armeabi-v7a/libBugly.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc/KSYMediaPlayer_Android/2a90ecdfe78cb9315a01e3a528c76658807a4819/KsyunPlayerDemo/app/libs/armeabi-v7a/libBugly.so -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/libs/bugly_crashreport_upgrade-1.3.1.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc/KSYMediaPlayer_Android/2a90ecdfe78cb9315a01e3a528c76658807a4819/KsyunPlayerDemo/app/libs/bugly_crashreport_upgrade-1.3.1.aar -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/zhangyunlong/Documents/android-sdk-macosx/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 16 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/src/main/java/com/ksyun/player/demo/PlayerApplication.java: -------------------------------------------------------------------------------- 1 | package com.ksyun.player.demo; 2 | 3 | import android.app.Application; 4 | 5 | import com.ksyun.media.player.KSYHardwareDecodeWhiteList; 6 | import com.tencent.bugly.Bugly; 7 | 8 | /** 9 | * Created by admin on 17/6/21. 10 | */ 11 | 12 | public class PlayerApplication extends Application{ 13 | @Override 14 | public void onCreate() { 15 | super.onCreate(); 16 | 17 | Bugly.init(getApplicationContext(), "fa7327d922", true); 18 | Bugly.setAppChannel(getApplicationContext(), "public"); 19 | 20 | // 初始化金山云的Android硬解白名单功能, 此功能需与金山云服务器通信,建议尽早调用 21 | // 若不想使用该功能,请勿调用此接口 22 | KSYHardwareDecodeWhiteList.getInstance().init(this); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/src/main/java/com/ksyun/player/demo/SplashActivity.java: -------------------------------------------------------------------------------- 1 | package com.ksyun.player.demo; 2 | 3 | import android.content.Intent; 4 | import android.content.pm.PackageInfo; 5 | import android.content.pm.PackageManager; 6 | import android.os.Build; 7 | import android.os.Bundle; 8 | import android.support.v7.app.AppCompatActivity; 9 | import android.view.View; 10 | import android.view.WindowManager; 11 | import android.widget.Button; 12 | import android.widget.TextView; 13 | 14 | import com.github.mzule.activityrouter.annotation.Module; 15 | import com.github.mzule.activityrouter.annotation.Modules; 16 | 17 | import java.util.Timer; 18 | import java.util.TimerTask; 19 | 20 | 21 | 22 | @Modules({"app", "oldplayerdemo", "newplayerdemo"}) 23 | @Module("app") 24 | public class SplashActivity extends AppCompatActivity { 25 | 26 | private Button button; 27 | private TextView textView; 28 | private Timer timer; 29 | private TimerTask timerTask; 30 | @Override 31 | protected void onCreate(Bundle savedInstanceState) { 32 | super.onCreate(savedInstanceState); 33 | setContentView(R.layout.activity_splash); 34 | if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){ 35 | this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 36 | } 37 | button=(Button)findViewById(R.id.button); 38 | button.setOnClickListener(new View.OnClickListener() { 39 | @Override 40 | public void onClick(View view) { 41 | jumpToNext(); 42 | 43 | } 44 | }); 45 | textView=(TextView)findViewById(R.id.sdk_version); 46 | String version=getVersion(); 47 | if(!version.equals("error")){ 48 | textView.setText("SDK V"+version+"版本"); 49 | } 50 | setTimer(); 51 | } 52 | private void setTimer(){ 53 | timerTask=new MyTimerTask(); 54 | timer=new Timer(); 55 | timer.schedule(timerTask,3000); 56 | } 57 | private void jumpToNext(){ 58 | Intent intent=new Intent(SplashActivity.this, ChooseActivity.class); 59 | startActivity(intent); 60 | timer.cancel(); 61 | finish(); 62 | } 63 | private String getVersion(){ 64 | try { 65 | PackageManager manager=getPackageManager(); 66 | PackageInfo packageInfo=manager.getPackageInfo(getPackageName(),0); 67 | String version=packageInfo.versionName; 68 | return version; 69 | } catch (PackageManager.NameNotFoundException e) { 70 | e.printStackTrace(); 71 | return "error"; 72 | } 73 | 74 | } 75 | private class MyTimerTask extends TimerTask 76 | { 77 | @Override 78 | public void run() { 79 | jumpToNext(); 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/src/main/res/drawable/change_to_oldversion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc/KSYMediaPlayer_Android/2a90ecdfe78cb9315a01e3a528c76658807a4819/KsyunPlayerDemo/app/src/main/res/drawable/change_to_oldversion.png -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/src/main/res/drawable/live.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc/KSYMediaPlayer_Android/2a90ecdfe78cb9315a01e3a528c76658807a4819/KsyunPlayerDemo/app/src/main/res/drawable/live.png -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/src/main/res/drawable/splash_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc/KSYMediaPlayer_Android/2a90ecdfe78cb9315a01e3a528c76658807a4819/KsyunPlayerDemo/app/src/main/res/drawable/splash_background.png -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/src/main/res/drawable/to_old_version.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/src/main/res/drawable/vod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc/KSYMediaPlayer_Android/2a90ecdfe78cb9315a01e3a528c76658807a4819/KsyunPlayerDemo/app/src/main/res/drawable/vod.png -------------------------------------------------------------------------------- /KsyunPlayerDemo/app/src/main/res/layout/activity_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 24 |