安卓磁链搜索下载播放器 MagnetPlayer

2018年11月29日08:28:57 发表评论 25 views
创业项目

了解磁链原理和使用,资源搜索必备神器

效果图

安卓磁链搜索下载播放器 MagnetPlayer

磁力搜索

获取磁链

抓取网络资源接口返回磁链地址

source 可选 种子搜|磁力吧|BT兔子|idope|BTDB|BT4G|屌丝搜|AOYOSO

http://bt.xiandan.in/api/search?&source=种子搜&keyword=测试&page=1

返回JSON

  1. {
  2.   "currentPage"1,
  3.   "currentSourceSite""种子搜",
  4.   "results": [
  5.     {
  6.       "magnet""magnet:?xt=urn:btih:b9f4c386974037282b077e516eced7ae50e57b7f",
  7.       "name""[星火字幕组][填坑][beta测试版非正式版][名侦探柯南剧场版M19][业火的向日葵][1080P][10bit][简日附带假名].mkv ",
  8.       "formatSize""6.83 GB",
  9.       "size"7333656576,
  10.       "count""2018-06-03",
  11.       "detailUrl""http://www.zhongzijun.com/info-b9f4c386974037282b077e516eced7ae50e57b7f",
  12.       "resolution""1080P"
  13.     },
  14.     {
  15.       "magnet""magnet:?xt=urn:btih:71ed94a7e48585fddeb178b5cb88afaf8354c1b4",
  16.       "name""2018_05_16园博园迈腾测试 ",
  17.       "formatSize""62.31 MB",
  18.       "size"65336772,
  19.       "count""2018-05-28",
  20.       "detailUrl""http://www.zhongzijun.com/info-71ed94a7e48585fddeb178b5cb88afaf8354c1b4",
  21.       "resolution"""
  22.     }
  23.   ]
  24. }

磁链下载

感谢开源项目

[1]https://github.com/masterwok/simple-torrent-android

[2]https://github.com/frostwire/frostwire-jlibtorrent

[3]https://com.github.dueeeke.dkplayer

开始查找下载数据

  1. val torrentSessionOptions = TorrentSessionOptions(downloadLocation = File(rootPath), onlyDownloadLargestFile = true, enableLogging = false, shouldStream = true)
  2. torrentSession = TorrentSession(torrentSessionOptions)
  3. torrentSession?.listener = object : TorrentSessionListener {
  4.     ...
  5.     //各个状态监听
  6.     ...
  7. }

下载完成播放器

下载到本地文件夹,直接读取播放即可

  1. //xml
  2. <com.dueeeke.videoplayer.player.IjkVideoView
  3.         android:id="@+id/video_view"
  4.         android:layout_width="match_parent"
  5.         android:layout_height="match_parent" />
  6. //kt
  7. val controller = FullScreenController(this)
  8.         val playerConfig = PlayerConfig.Builder()
  9.                 .usingSurfaceView() //启用SurfaceView显示视频,不调用默认使用TextureView
  10.                 .savingProgress() //保存播放进度
  11.                 .disableAudioFocus() //关闭AudioFocusChange监听
  12.                 .build()
  13.         video_view.setPlayerConfig(playerConfig)
  14.         video_view.setUrl(intent.getStringExtra("url"))
  15.         video_view.title = intent.getStringExtra("title")
  16.         video_view.setVideoController(controller)
  17.         video_view.startFullScreen()
  18.         video_view.start()

调用迅雷打开磁链

从tracker上获取不到的时候比较多, 所以还是直接调用迅雷打开比较快

  1. private fun wakeThunder(link: String) {
  2.     //AAlinkZZ 不用转thunder://xxx 可以直接让迅雷识别magnet
  3.     var intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
  4.     intent.addCategory("android.intent.category.DEFAULT")
  5.     startActivity(intent)
  6. }
  • 边下边播还未实现...
晨会游戏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: