@javascriptcommon/react-native-track-player 1.2.9 → 4.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/LICENSE +201 -21
  2. package/README.md +8 -0
  3. package/android/build.gradle +92 -18
  4. package/android/proguard-rules.txt +0 -3
  5. package/android/src/main/AndroidManifest.xml +10 -13
  6. package/android/src/main/java/com/doublesymmetry/trackplayer/HeadlessJsMediaService.kt +199 -0
  7. package/android/src/main/java/com/doublesymmetry/trackplayer/TrackPlayer.kt +33 -0
  8. package/android/src/main/java/com/doublesymmetry/trackplayer/extensions/AudioPlayerStateExt.kt +19 -0
  9. package/android/src/main/java/com/doublesymmetry/trackplayer/extensions/EnumExtensions.kt +5 -0
  10. package/android/src/main/java/com/doublesymmetry/trackplayer/extensions/NumberExt.kt +13 -0
  11. package/android/src/main/java/com/doublesymmetry/trackplayer/model/MetadataAdapter.kt +227 -0
  12. package/android/src/main/java/com/doublesymmetry/trackplayer/model/NowPlayingMetadata.kt +16 -0
  13. package/android/src/main/java/com/doublesymmetry/trackplayer/model/PlaybackMetadata.kt +203 -0
  14. package/android/src/main/java/com/doublesymmetry/trackplayer/model/State.kt +13 -0
  15. package/android/src/main/java/com/doublesymmetry/trackplayer/model/Track.kt +67 -0
  16. package/android/src/main/java/com/doublesymmetry/trackplayer/model/TrackAudioItem.kt +18 -0
  17. package/android/src/main/java/com/doublesymmetry/trackplayer/model/TrackMetadata.kt +38 -0
  18. package/android/src/main/java/com/doublesymmetry/trackplayer/module/MusicEvents.kt +67 -0
  19. package/android/src/main/java/com/doublesymmetry/trackplayer/module/MusicModule.kt +778 -0
  20. package/android/src/main/java/com/doublesymmetry/trackplayer/service/MusicService.kt +1286 -0
  21. package/android/src/main/java/com/doublesymmetry/trackplayer/utils/AppForegroundTracker.kt +35 -0
  22. package/android/src/main/java/com/doublesymmetry/trackplayer/utils/BundleUtils.kt +147 -0
  23. package/android/src/main/java/com/doublesymmetry/trackplayer/utils/CoilBitmapLoader.kt +65 -0
  24. package/android/src/main/java/com/doublesymmetry/trackplayer/utils/MediaItemBuilder.kt +41 -0
  25. package/android/src/main/java/com/doublesymmetry/trackplayer/utils/RejectionException.kt +11 -0
  26. package/android/src/main/java/com/doublesymmetry/trackplayer/video/TrackPlayerVideoView.kt +42 -0
  27. package/android/src/main/java/com/doublesymmetry/trackplayer/video/TrackPlayerVideoViewManager.kt +18 -0
  28. package/android/src/main/java/com/lovegaoshi/kotlinaudio/event/EventHolder.kt +30 -0
  29. package/android/src/main/java/com/lovegaoshi/kotlinaudio/event/PlayerEventHolder.kt +124 -0
  30. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/AudioContentType.kt +10 -0
  31. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/AudioItem.kt +118 -0
  32. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/AudioItemTransitionReason.kt +33 -0
  33. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/AudioPlayerState.kt +30 -0
  34. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/BufferConfig.kt +8 -0
  35. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/CacheConfig.kt +17 -0
  36. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/Capability.kt +19 -0
  37. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/CustomButton.kt +19 -0
  38. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/FocusChangeData.kt +3 -0
  39. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/MediaSessionCallback.kt +17 -0
  40. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/PlayWhenReadyChangeData.kt +3 -0
  41. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/PlaybackEndedReason.kt +5 -0
  42. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/PlaybackError.kt +6 -0
  43. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/PlayerConfig.kt +36 -0
  44. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/PlayerOptions.kt +40 -0
  45. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/PositionChangedReason.kt +39 -0
  46. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/RepeatMode.kt +16 -0
  47. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/WakeMode.kt +7 -0
  48. package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/AudioPlayer.kt +756 -0
  49. package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/ForwardingPlayer.java +1124 -0
  50. package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/QueuedAudioPlayer.kt +279 -0
  51. package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/APMRenderersFactory.kt +33 -0
  52. package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/Buffer.kt +34 -0
  53. package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/Cache.kt +27 -0
  54. package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/FocusManager.kt +59 -0
  55. package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/MediaFactory.kt +130 -0
  56. package/android/src/main/java/com/lovegaoshi/kotlinaudio/processors/TeeListener.kt +171 -0
  57. package/android/src/main/java/com/lovegaoshi/kotlinaudio/service/MusicService.kt +127 -0
  58. package/android/src/main/java/com/lovegaoshi/kotlinaudio/utils/FFT.java +99 -0
  59. package/android/src/main/java/com/lovegaoshi/kotlinaudio/utils/Utils.kt +113 -0
  60. package/android/src/main/res/drawable/baseline_repeat_24.xml +5 -0
  61. package/android/src/main/res/drawable/baseline_repeat_one_24.xml +5 -0
  62. package/android/src/main/res/drawable/forward.xml +5 -0
  63. package/android/src/main/res/drawable/heart_24px.xml +5 -0
  64. package/android/src/main/res/drawable/hearte_24px.xml +5 -0
  65. package/android/src/main/res/drawable/ifl_24px.xml +5 -0
  66. package/android/src/main/res/drawable/rewind.xml +5 -0
  67. package/android/src/main/res/drawable/shuffle_24px.xml +5 -0
  68. package/android/src/main/res/values/strings.xml +5 -0
  69. package/android/src/main/res/xml/automotive_app_desc.xml +3 -0
  70. package/ios/Example/SwiftAudio/Assets.xcassets/22AMI.imageset/22AMillion.jpg +0 -0
  71. package/ios/Example/SwiftAudio/Assets.xcassets/22AMI.imageset/Contents.json +21 -0
  72. package/ios/Example/SwiftAudio/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
  73. package/ios/Example/SwiftAudio/Assets.xcassets/AppIcon.appiconset/Contents.json +58 -0
  74. package/ios/Example/SwiftAudio/Assets.xcassets/Contents.json +6 -0
  75. package/ios/Example/SwiftAudio/Assets.xcassets/cover.imageset/Contents.json +21 -0
  76. package/ios/Example/SwiftAudio/Assets.xcassets/cover.imageset/cover.jpg +0 -0
  77. package/ios/Example/SwiftAudio/AudioController.swift +46 -0
  78. package/ios/Example/SwiftAudio/Extensions.swift +22 -0
  79. package/ios/Example/SwiftAudio/PlayerView.swift +172 -0
  80. package/ios/Example/SwiftAudio/PlayerViewModel.swift +120 -0
  81. package/ios/Example/SwiftAudio/Preview Content/Preview Assets.xcassets/Contents.json +6 -0
  82. package/ios/Example/SwiftAudio/QueueView.swift +65 -0
  83. package/ios/{TrackPlayer.xcodeproj/xcuserdata/marco.xcuserdatad/xcschemes/xcschememanagement.plist → Example/SwiftAudio/SwiftAudio.entitlements} +6 -8
  84. package/ios/Example/SwiftAudio/SwiftAudioApp.swift +17 -0
  85. package/ios/Example/SwiftAudio.xcodeproj/project.pbxproj +412 -0
  86. package/ios/{TrackPlayer.xcodeproj → Example/SwiftAudio.xcodeproj}/project.xcworkspace/contents.xcworkspacedata +1 -1
  87. package/ios/RNTrackPlayer/Models/Capabilities.swift +39 -4
  88. package/ios/RNTrackPlayer/Models/MediaURL.swift +12 -6
  89. package/ios/RNTrackPlayer/Models/MetadataAdapter.swift +147 -0
  90. package/ios/RNTrackPlayer/Models/PitchAlgorithms.swift +13 -0
  91. package/ios/RNTrackPlayer/Models/SessionCategories.swift +106 -0
  92. package/ios/RNTrackPlayer/Models/State.swift +26 -0
  93. package/ios/RNTrackPlayer/Models/Track.swift +74 -54
  94. package/ios/RNTrackPlayer/RNTrackPlayer.swift +867 -406
  95. package/ios/RNTrackPlayer/Support/RNTrackPlayer-Bridging-Header.h +1 -0
  96. package/ios/RNTrackPlayer/TrackPlayer.h +14 -0
  97. package/ios/RNTrackPlayer/TrackPlayer.mm +249 -0
  98. package/ios/RNTrackPlayer/Utils/EventType.swift +45 -0
  99. package/ios/RNTrackPlayer/Utils/Metadata.swift +60 -0
  100. package/ios/RNTrackPlayer/Video/RNTrackPlayerVideoView.swift +83 -0
  101. package/ios/RNTrackPlayer/Video/RNTrackPlayerVideoViewManager.m +5 -0
  102. package/ios/RNTrackPlayer/Video/RNTrackPlayerVideoViewManager.swift +17 -0
  103. package/ios/SwiftAudioEx/Package.swift +20 -0
  104. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AVPlayerWrapper/AVPlayerWrapper.swift +531 -0
  105. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AVPlayerWrapper/AVPlayerWrapperDelegate.swift +27 -0
  106. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AVPlayerWrapper/AVPlayerWrapperProtocol.swift +69 -0
  107. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AVPlayerWrapper/AVPlayerWrapperState.swift +43 -0
  108. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioItem.swift +158 -0
  109. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioPlayer.swift +459 -0
  110. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioPlayerError.swift +26 -0
  111. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioSessionController/AudioSession.swift +33 -0
  112. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioSessionController/AudioSessionController.swift +135 -0
  113. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioTap.swift +96 -0
  114. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Event.swift +155 -0
  115. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/MediaItemProperty.swift +95 -0
  116. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoCenter.swift +17 -0
  117. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoController.swift +73 -0
  118. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoControllerProtocol.swift +26 -0
  119. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoKeyValue.swift +14 -0
  120. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoProperty.swift +234 -0
  121. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Observer/AVPlayerItemNotificationObserver.swift +102 -0
  122. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Observer/AVPlayerItemObserver.swift +136 -0
  123. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Observer/AVPlayerObserver.swift +120 -0
  124. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Observer/AVPlayerTimeObserver.swift +112 -0
  125. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/QueueManager.swift +356 -0
  126. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/QueuedAudioPlayer.swift +236 -0
  127. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/RemoteCommandController/RemoteCommand.swift +170 -0
  128. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/RemoteCommandController/RemoteCommandController.swift +206 -0
  129. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/RepeatMode.swift +15 -0
  130. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/TimeEventFrequency.swift +26 -0
  131. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Utils/DispatchQueueType.swift +18 -0
  132. package/ios/SwiftAudioEx/Sources/SwiftAudioEx/WaveformAudioTap.swift +159 -0
  133. package/lib/specs/NativeTrackPlayer.d.ts +134 -0
  134. package/lib/specs/NativeTrackPlayer.js +4 -0
  135. package/lib/src/TrackPlayerModule.web.d.ts +2 -0
  136. package/lib/src/TrackPlayerModule.web.js +2 -0
  137. package/lib/src/VideoView.d.ts +16 -0
  138. package/lib/src/VideoView.js +25 -0
  139. package/lib/src/constants/AndroidAudioContentType.d.ts +35 -0
  140. package/lib/src/constants/AndroidAudioContentType.js +36 -0
  141. package/lib/src/constants/AndroidAutoContentStyle.d.ts +10 -0
  142. package/lib/src/constants/AndroidAutoContentStyle.js +11 -0
  143. package/lib/src/constants/AppKilledPlaybackBehavior.d.ts +17 -0
  144. package/lib/src/constants/AppKilledPlaybackBehavior.js +18 -0
  145. package/lib/src/constants/Capability.d.ts +17 -0
  146. package/lib/src/constants/Capability.js +19 -0
  147. package/lib/src/constants/Event.d.ts +172 -0
  148. package/lib/src/constants/Event.js +173 -0
  149. package/lib/src/constants/IOSCategory.d.ts +36 -0
  150. package/lib/src/constants/IOSCategory.js +37 -0
  151. package/lib/src/constants/IOSCategoryMode.d.ts +47 -0
  152. package/lib/src/constants/IOSCategoryMode.js +48 -0
  153. package/lib/src/constants/IOSCategoryOptions.d.ts +44 -0
  154. package/lib/src/constants/IOSCategoryOptions.js +45 -0
  155. package/lib/src/constants/MediaItemPlayable.d.ts +4 -0
  156. package/lib/src/constants/MediaItemPlayable.js +5 -0
  157. package/lib/src/constants/PitchAlgorithm.d.ts +14 -0
  158. package/lib/src/constants/PitchAlgorithm.js +16 -0
  159. package/lib/src/constants/RatingType.d.ts +8 -0
  160. package/lib/src/constants/RatingType.js +10 -0
  161. package/lib/src/constants/RepeatMode.d.ts +8 -0
  162. package/lib/src/constants/RepeatMode.js +10 -0
  163. package/lib/src/constants/State.d.ts +34 -0
  164. package/lib/src/constants/State.js +35 -0
  165. package/lib/src/constants/TrackType.d.ts +6 -0
  166. package/lib/src/constants/TrackType.js +7 -0
  167. package/lib/src/constants/index.d.ts +14 -0
  168. package/lib/src/constants/index.js +14 -0
  169. package/lib/src/hooks/index.d.ts +6 -0
  170. package/lib/src/hooks/index.js +6 -0
  171. package/lib/src/hooks/useActiveTrack.d.ts +2 -0
  172. package/lib/src/hooks/useActiveTrack.js +28 -0
  173. package/lib/src/hooks/useAppIsInBackground.d.ts +1 -0
  174. package/lib/src/hooks/useAppIsInBackground.js +16 -0
  175. package/lib/src/hooks/useIsPlaying.d.ts +35 -0
  176. package/lib/src/hooks/useIsPlaying.js +50 -0
  177. package/lib/src/hooks/usePlayWhenReady.d.ts +1 -0
  178. package/lib/src/hooks/usePlayWhenReady.js +27 -0
  179. package/lib/src/hooks/usePlaybackState.d.ts +10 -0
  180. package/lib/src/hooks/usePlaybackState.js +35 -0
  181. package/lib/src/hooks/useProgress.d.ts +7 -0
  182. package/lib/src/hooks/useProgress.js +55 -0
  183. package/lib/src/hooks/useTrackPlayerEvents.d.ts +8 -0
  184. package/lib/src/hooks/useTrackPlayerEvents.js +30 -0
  185. package/lib/src/index.d.ts +6 -0
  186. package/lib/src/index.js +6 -0
  187. package/lib/src/interfaces/AndroidAutoBrowseTree.d.ts +5 -0
  188. package/lib/src/interfaces/AndroidAutoBrowseTree.js +1 -0
  189. package/lib/src/interfaces/AndroidOptions.d.ts +41 -0
  190. package/lib/src/interfaces/AndroidOptions.js +1 -0
  191. package/lib/src/interfaces/CustomButtons.d.ts +5 -0
  192. package/lib/src/interfaces/CustomButtons.js +1 -0
  193. package/lib/src/interfaces/FeedbackOptions.d.ts +6 -0
  194. package/lib/src/interfaces/FeedbackOptions.js +1 -0
  195. package/lib/src/interfaces/MediaItem.d.ts +18 -0
  196. package/lib/src/interfaces/MediaItem.js +1 -0
  197. package/lib/src/interfaces/MetadataOptions.d.ts +3 -0
  198. package/lib/src/interfaces/MetadataOptions.js +1 -0
  199. package/lib/src/interfaces/NowPlayingMetadata.d.ts +4 -0
  200. package/lib/src/interfaces/NowPlayingMetadata.js +1 -0
  201. package/lib/src/interfaces/PlaybackState.d.ts +8 -0
  202. package/lib/src/interfaces/PlaybackState.js +1 -0
  203. package/lib/src/interfaces/PlayerOptions.d.ts +132 -0
  204. package/lib/src/interfaces/PlayerOptions.js +1 -0
  205. package/lib/src/interfaces/Progress.d.ts +15 -0
  206. package/lib/src/interfaces/Progress.js +1 -0
  207. package/lib/src/interfaces/ResourceObject.d.ts +1 -0
  208. package/lib/src/interfaces/ResourceObject.js +1 -0
  209. package/lib/src/interfaces/ServiceHandler.d.ts +1 -0
  210. package/lib/src/interfaces/ServiceHandler.js +1 -0
  211. package/lib/src/interfaces/Track.d.ts +21 -0
  212. package/lib/src/interfaces/Track.js +1 -0
  213. package/lib/src/interfaces/TrackMetadataBase.d.ts +28 -0
  214. package/lib/src/interfaces/TrackMetadataBase.js +1 -0
  215. package/lib/src/interfaces/UpdateOptions.d.ts +52 -0
  216. package/lib/src/interfaces/UpdateOptions.js +1 -0
  217. package/lib/src/interfaces/events/AudioMetadataReceivedEvent.d.ts +33 -0
  218. package/lib/src/interfaces/events/AudioMetadataReceivedEvent.js +1 -0
  219. package/lib/src/interfaces/events/ControllerConnectedEvent.d.ts +8 -0
  220. package/lib/src/interfaces/events/ControllerConnectedEvent.js +1 -0
  221. package/lib/src/interfaces/events/EventPayloadByEvent.d.ts +77 -0
  222. package/lib/src/interfaces/events/EventPayloadByEvent.js +1 -0
  223. package/lib/src/interfaces/events/FFTUpdateEvent.d.ts +7 -0
  224. package/lib/src/interfaces/events/FFTUpdateEvent.js +1 -0
  225. package/lib/src/interfaces/events/PlaybackActiveTrackChangedEvent.d.ts +24 -0
  226. package/lib/src/interfaces/events/PlaybackActiveTrackChangedEvent.js +1 -0
  227. package/lib/src/interfaces/events/PlaybackAnimatedVolumeChangedEvent.d.ts +4 -0
  228. package/lib/src/interfaces/events/PlaybackAnimatedVolumeChangedEvent.js +1 -0
  229. package/lib/src/interfaces/events/PlaybackErrorEvent.d.ts +6 -0
  230. package/lib/src/interfaces/events/PlaybackErrorEvent.js +1 -0
  231. package/lib/src/interfaces/events/PlaybackMetadataReceivedEvent.d.ts +16 -0
  232. package/lib/src/interfaces/events/PlaybackMetadataReceivedEvent.js +1 -0
  233. package/lib/src/interfaces/events/PlaybackPlayWhenReadyChangedEvent.d.ts +4 -0
  234. package/lib/src/interfaces/events/PlaybackPlayWhenReadyChangedEvent.js +1 -0
  235. package/lib/src/interfaces/events/PlaybackProgressUpdatedEvent.d.ts +4 -0
  236. package/lib/src/interfaces/events/PlaybackProgressUpdatedEvent.js +1 -0
  237. package/lib/src/interfaces/events/PlaybackQueueEndedEvent.d.ts +9 -0
  238. package/lib/src/interfaces/events/PlaybackQueueEndedEvent.js +1 -0
  239. package/lib/src/interfaces/events/PlaybackResumeEvent.d.ts +3 -0
  240. package/lib/src/interfaces/events/PlaybackResumeEvent.js +1 -0
  241. package/lib/src/interfaces/events/PlaybackTrackChangedEvent.d.ts +11 -0
  242. package/lib/src/interfaces/events/PlaybackTrackChangedEvent.js +1 -0
  243. package/lib/src/interfaces/events/PlayerErrorEvent.d.ts +6 -0
  244. package/lib/src/interfaces/events/PlayerErrorEvent.js +1 -0
  245. package/lib/src/interfaces/events/RemoteBrowseEvent.d.ts +4 -0
  246. package/lib/src/interfaces/events/RemoteBrowseEvent.js +1 -0
  247. package/lib/src/interfaces/events/RemoteCustomActionEvent.d.ts +7 -0
  248. package/lib/src/interfaces/events/RemoteCustomActionEvent.js +1 -0
  249. package/lib/src/interfaces/events/RemoteDuckEvent.d.ts +13 -0
  250. package/lib/src/interfaces/events/RemoteDuckEvent.js +1 -0
  251. package/lib/src/interfaces/events/RemoteJumpBackwardEvent.d.ts +7 -0
  252. package/lib/src/interfaces/events/RemoteJumpBackwardEvent.js +1 -0
  253. package/lib/src/interfaces/events/RemoteJumpForwardEvent.d.ts +7 -0
  254. package/lib/src/interfaces/events/RemoteJumpForwardEvent.js +1 -0
  255. package/lib/src/interfaces/events/RemotePlayIdEvent.d.ts +4 -0
  256. package/lib/src/interfaces/events/RemotePlayIdEvent.js +1 -0
  257. package/lib/src/interfaces/events/RemotePlaySearchEvent.d.ts +9 -0
  258. package/lib/src/interfaces/events/RemotePlaySearchEvent.js +1 -0
  259. package/lib/src/interfaces/events/RemoteSearchEvent.d.ts +3 -0
  260. package/lib/src/interfaces/events/RemoteSearchEvent.js +1 -0
  261. package/lib/src/interfaces/events/RemoteSeekEvent.d.ts +4 -0
  262. package/lib/src/interfaces/events/RemoteSeekEvent.js +1 -0
  263. package/lib/src/interfaces/events/RemoteSetRatingEvent.d.ts +4 -0
  264. package/lib/src/interfaces/events/RemoteSetRatingEvent.js +1 -0
  265. package/lib/src/interfaces/events/RemoteSkipEvent.d.ts +3 -0
  266. package/lib/src/interfaces/events/RemoteSkipEvent.js +1 -0
  267. package/lib/src/interfaces/events/index.d.ts +20 -0
  268. package/lib/src/interfaces/events/index.js +20 -0
  269. package/lib/src/interfaces/index.d.ts +15 -0
  270. package/lib/src/interfaces/index.js +15 -0
  271. package/lib/src/resolveAssetSource.d.ts +2 -0
  272. package/lib/src/resolveAssetSource.js +3 -0
  273. package/lib/src/resolveAssetSource.web.d.ts +2 -0
  274. package/lib/src/resolveAssetSource.web.js +8 -0
  275. package/lib/src/trackPlayer.d.ts +371 -0
  276. package/lib/src/trackPlayer.js +627 -0
  277. package/lib/web/TrackPlayer/Player.d.ts +40 -0
  278. package/lib/web/TrackPlayer/Player.js +188 -0
  279. package/lib/web/TrackPlayer/PlaylistPlayer.d.ts +31 -0
  280. package/lib/web/TrackPlayer/PlaylistPlayer.js +181 -0
  281. package/lib/web/TrackPlayer/RepeatMode.d.ts +5 -0
  282. package/lib/web/TrackPlayer/RepeatMode.js +6 -0
  283. package/lib/web/TrackPlayer/SetupNotCalledError.d.ts +3 -0
  284. package/lib/web/TrackPlayer/SetupNotCalledError.js +5 -0
  285. package/lib/web/TrackPlayer/index.d.ts +3 -0
  286. package/lib/web/TrackPlayer/index.js +3 -0
  287. package/lib/web/TrackPlayerModule.d.ts +63 -0
  288. package/lib/web/TrackPlayerModule.js +153 -0
  289. package/lib/web/index.d.ts +3 -0
  290. package/lib/web/index.js +3 -0
  291. package/package.json +85 -6
  292. package/react-native-track-player.podspec +13 -13
  293. package/specs/NativeTrackPlayer.ts +153 -0
  294. package/src/TrackPlayerModule.web.ts +2 -0
  295. package/src/VideoView.tsx +51 -0
  296. package/src/constants/AndroidAudioContentType.ts +35 -0
  297. package/src/constants/AndroidAutoContentStyle.ts +10 -0
  298. package/src/constants/AppKilledPlaybackBehavior.ts +19 -0
  299. package/src/constants/Capability.ts +19 -0
  300. package/src/constants/Event.ts +173 -0
  301. package/src/constants/IOSCategory.ts +36 -0
  302. package/src/constants/IOSCategoryMode.ts +47 -0
  303. package/src/constants/IOSCategoryOptions.ts +44 -0
  304. package/src/constants/MediaItemPlayable.ts +4 -0
  305. package/src/constants/PitchAlgorithm.ts +16 -0
  306. package/src/constants/RatingType.ts +10 -0
  307. package/src/constants/RepeatMode.ts +10 -0
  308. package/src/constants/State.ts +34 -0
  309. package/src/constants/TrackType.ts +6 -0
  310. package/src/constants/index.ts +14 -0
  311. package/src/hooks/index.ts +6 -0
  312. package/src/hooks/useActiveTrack.ts +36 -0
  313. package/src/hooks/useAppIsInBackground.ts +20 -0
  314. package/src/hooks/useIsPlaying.ts +56 -0
  315. package/src/hooks/usePlayWhenReady.ts +37 -0
  316. package/src/hooks/usePlaybackState.ts +45 -0
  317. package/src/hooks/useProgress.ts +64 -0
  318. package/src/hooks/useTrackPlayerEvents.ts +48 -0
  319. package/src/index.ts +8 -0
  320. package/src/interfaces/AndroidAutoBrowseTree.ts +6 -0
  321. package/src/interfaces/AndroidOptions.ts +48 -0
  322. package/src/interfaces/CustomButtons.ts +6 -0
  323. package/src/interfaces/FeedbackOptions.ts +7 -0
  324. package/src/interfaces/MediaItem.ts +19 -0
  325. package/src/interfaces/MetadataOptions.ts +4 -0
  326. package/src/interfaces/NowPlayingMetadata.ts +5 -0
  327. package/src/interfaces/PlaybackState.ts +11 -0
  328. package/src/interfaces/PlayerOptions.ts +138 -0
  329. package/src/interfaces/Progress.ts +15 -0
  330. package/src/interfaces/ResourceObject.ts +1 -0
  331. package/src/interfaces/ServiceHandler.ts +1 -0
  332. package/src/interfaces/Track.ts +23 -0
  333. package/src/interfaces/TrackMetadataBase.ts +29 -0
  334. package/src/interfaces/UpdateOptions.ts +59 -0
  335. package/src/interfaces/events/AudioMetadataReceivedEvent.ts +37 -0
  336. package/src/interfaces/events/ControllerConnectedEvent.ts +9 -0
  337. package/src/interfaces/events/EventPayloadByEvent.ts +80 -0
  338. package/src/interfaces/events/FFTUpdateEvent.ts +9 -0
  339. package/src/interfaces/events/PlaybackActiveTrackChangedEvent.ts +29 -0
  340. package/src/interfaces/events/PlaybackAnimatedVolumeChangedEvent.ts +4 -0
  341. package/src/interfaces/events/PlaybackErrorEvent.ts +6 -0
  342. package/src/interfaces/events/PlaybackMetadataReceivedEvent.ts +16 -0
  343. package/src/interfaces/events/PlaybackPlayWhenReadyChangedEvent.ts +4 -0
  344. package/src/interfaces/events/PlaybackProgressUpdatedEvent.ts +5 -0
  345. package/src/interfaces/events/PlaybackQueueEndedEvent.ts +9 -0
  346. package/src/interfaces/events/PlaybackResumeEvent.ts +5 -0
  347. package/src/interfaces/events/PlaybackTrackChangedEvent.ts +11 -0
  348. package/src/interfaces/events/PlayerErrorEvent.ts +6 -0
  349. package/src/interfaces/events/RemoteBrowseEvent.ts +4 -0
  350. package/src/interfaces/events/RemoteCustomActionEvent.ts +7 -0
  351. package/src/interfaces/events/RemoteDuckEvent.ts +13 -0
  352. package/src/interfaces/events/RemoteJumpBackwardEvent.ts +7 -0
  353. package/src/interfaces/events/RemoteJumpForwardEvent.ts +7 -0
  354. package/src/interfaces/events/RemotePlayIdEvent.ts +4 -0
  355. package/src/interfaces/events/RemotePlaySearchEvent.ts +21 -0
  356. package/src/interfaces/events/RemoteSearchEvent.ts +3 -0
  357. package/src/interfaces/events/RemoteSeekEvent.ts +4 -0
  358. package/src/interfaces/events/RemoteSetRatingEvent.ts +5 -0
  359. package/src/interfaces/events/RemoteSkipEvent.ts +3 -0
  360. package/src/interfaces/events/index.ts +20 -0
  361. package/src/interfaces/index.ts +15 -0
  362. package/src/resolveAssetSource.ts +3 -0
  363. package/src/resolveAssetSource.web.ts +10 -0
  364. package/src/trackPlayer.ts +806 -0
  365. package/web/TrackPlayer/Player.ts +201 -0
  366. package/web/TrackPlayer/PlaylistPlayer.ts +215 -0
  367. package/web/TrackPlayer/RepeatMode.ts +6 -0
  368. package/web/TrackPlayer/SetupNotCalledError.ts +5 -0
  369. package/web/TrackPlayer/index.ts +3 -0
  370. package/web/TrackPlayerModule.ts +181 -0
  371. package/web/index.ts +4 -0
  372. package/CHANGELOG.md +0 -75
  373. package/android/react-native-music-control.iml +0 -139
  374. package/android/react-native-track-player.iml +0 -151
  375. package/android/src/main/java/com/guichaguri/trackplayer/TrackPlayer.java +0 -28
  376. package/android/src/main/java/com/guichaguri/trackplayer/module/MusicEvents.java +0 -55
  377. package/android/src/main/java/com/guichaguri/trackplayer/module/MusicModule.java +0 -298
  378. package/android/src/main/java/com/guichaguri/trackplayer/service/HeadlessJsMediaService.java +0 -174
  379. package/android/src/main/java/com/guichaguri/trackplayer/service/MusicBinder.java +0 -47
  380. package/android/src/main/java/com/guichaguri/trackplayer/service/MusicManager.java +0 -383
  381. package/android/src/main/java/com/guichaguri/trackplayer/service/MusicService.java +0 -271
  382. package/android/src/main/java/com/guichaguri/trackplayer/service/Utils.java +0 -243
  383. package/android/src/main/java/com/guichaguri/trackplayer/service/metadata/ButtonEvents.java +0 -148
  384. package/android/src/main/java/com/guichaguri/trackplayer/service/metadata/MetadataManager.java +0 -379
  385. package/android/src/main/java/com/guichaguri/trackplayer/service/models/Track.java +0 -141
  386. package/android/src/main/java/com/guichaguri/trackplayer/service/models/TrackType.java +0 -35
  387. package/android/src/main/res/drawable-hdpi/ic_forward.png +0 -0
  388. package/android/src/main/res/drawable-hdpi/ic_logo.png +0 -0
  389. package/android/src/main/res/drawable-hdpi/ic_next.png +0 -0
  390. package/android/src/main/res/drawable-hdpi/ic_pause.png +0 -0
  391. package/android/src/main/res/drawable-hdpi/ic_play.png +0 -0
  392. package/android/src/main/res/drawable-hdpi/ic_previous.png +0 -0
  393. package/android/src/main/res/drawable-hdpi/ic_rewind.png +0 -0
  394. package/android/src/main/res/drawable-hdpi/ic_stop.png +0 -0
  395. package/android/src/main/res/drawable-mdpi/ic_forward.png +0 -0
  396. package/android/src/main/res/drawable-mdpi/ic_logo.png +0 -0
  397. package/android/src/main/res/drawable-mdpi/ic_next.png +0 -0
  398. package/android/src/main/res/drawable-mdpi/ic_pause.png +0 -0
  399. package/android/src/main/res/drawable-mdpi/ic_play.png +0 -0
  400. package/android/src/main/res/drawable-mdpi/ic_previous.png +0 -0
  401. package/android/src/main/res/drawable-mdpi/ic_rewind.png +0 -0
  402. package/android/src/main/res/drawable-mdpi/ic_stop.png +0 -0
  403. package/android/src/main/res/drawable-xhdpi/ic_forward.png +0 -0
  404. package/android/src/main/res/drawable-xhdpi/ic_logo.png +0 -0
  405. package/android/src/main/res/drawable-xhdpi/ic_next.png +0 -0
  406. package/android/src/main/res/drawable-xhdpi/ic_pause.png +0 -0
  407. package/android/src/main/res/drawable-xhdpi/ic_play.png +0 -0
  408. package/android/src/main/res/drawable-xhdpi/ic_previous.png +0 -0
  409. package/android/src/main/res/drawable-xhdpi/ic_rewind.png +0 -0
  410. package/android/src/main/res/drawable-xhdpi/ic_stop.png +0 -0
  411. package/android/src/main/res/drawable-xxhdpi/ic_forward.png +0 -0
  412. package/android/src/main/res/drawable-xxhdpi/ic_logo.png +0 -0
  413. package/android/src/main/res/drawable-xxhdpi/ic_next.png +0 -0
  414. package/android/src/main/res/drawable-xxhdpi/ic_pause.png +0 -0
  415. package/android/src/main/res/drawable-xxhdpi/ic_play.png +0 -0
  416. package/android/src/main/res/drawable-xxhdpi/ic_previous.png +0 -0
  417. package/android/src/main/res/drawable-xxhdpi/ic_rewind.png +0 -0
  418. package/android/src/main/res/drawable-xxhdpi/ic_stop.png +0 -0
  419. package/android/src/main/res/drawable-xxxhdpi/ic_forward.png +0 -0
  420. package/android/src/main/res/drawable-xxxhdpi/ic_logo.png +0 -0
  421. package/android/src/main/res/drawable-xxxhdpi/ic_next.png +0 -0
  422. package/android/src/main/res/drawable-xxxhdpi/ic_pause.png +0 -0
  423. package/android/src/main/res/drawable-xxxhdpi/ic_play.png +0 -0
  424. package/android/src/main/res/drawable-xxxhdpi/ic_previous.png +0 -0
  425. package/android/src/main/res/drawable-xxxhdpi/ic_rewind.png +0 -0
  426. package/android/src/main/res/drawable-xxxhdpi/ic_stop.png +0 -0
  427. package/index.d.ts +0 -174
  428. package/index.js +0 -4
  429. package/ios/RNTrackPlayer/RNTrackPlayerBridge.h +0 -12
  430. package/ios/RNTrackPlayer/RNTrackPlayerBridge.m +0 -29
  431. package/ios/TrackPlayer.xcodeproj/project.pbxproj +0 -495
  432. package/ios/TrackPlayer.xcodeproj/project.xcworkspace/xcuserdata/marco.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  433. package/lib/ProgressComponent.js +0 -70
  434. package/lib/eventTypes.js +0 -28
  435. package/lib/hooks.js +0 -160
  436. package/lib/index.js +0 -177
  437. /package/ios/{TrackPlayer.xcodeproj → Example/SwiftAudio.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
@@ -0,0 +1,21 @@
1
+ import type { PitchAlgorithm, TrackType } from '../constants';
2
+ import { ResourceObject } from './ResourceObject';
3
+ import type { TrackMetadataBase } from './TrackMetadataBase';
4
+ export interface Track extends TrackMetadataBase {
5
+ url: string;
6
+ type?: TrackType;
7
+ /** The user agent HTTP header */
8
+ userAgent?: string;
9
+ /** Mime type of the media file */
10
+ contentType?: string;
11
+ /** (iOS only) The pitch algorithm to apply to the sound. */
12
+ pitchAlgorithm?: PitchAlgorithm;
13
+ headers?: {
14
+ [key: string]: any;
15
+ };
16
+ [key: string]: any;
17
+ }
18
+ export type AddTrack = Track & {
19
+ url: string | ResourceObject;
20
+ artwork?: string | ResourceObject;
21
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ import type { RatingType } from '../constants';
2
+ export interface TrackMetadataBase {
3
+ /** The track title */
4
+ title?: string;
5
+ /** The track album */
6
+ album?: string;
7
+ /** The track artist */
8
+ artist?: string;
9
+ /** The track duration in seconds */
10
+ duration?: number;
11
+ /** The track artwork */
12
+ artwork?: string;
13
+ /** track description */
14
+ description?: string;
15
+ /** track mediaId */
16
+ mediaId?: string;
17
+ /** The track genre */
18
+ genre?: string;
19
+ /** The track release date in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) */
20
+ date?: string;
21
+ /** The track rating */
22
+ rating?: RatingType;
23
+ /**
24
+ * (iOS only) Whether the track is presented in the control center as being
25
+ * live
26
+ **/
27
+ isLiveStream?: boolean;
28
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ import type { AndroidOptions } from './AndroidOptions';
2
+ import type { FeedbackOptions } from './FeedbackOptions';
3
+ import type { ResourceObject } from './ResourceObject';
4
+ import type { RatingType, Capability } from '../constants';
5
+ import { CustomButtons } from './CustomButtons';
6
+ export interface UpdateOptions {
7
+ android?: AndroidOptions;
8
+ ratingType?: RatingType;
9
+ forwardJumpInterval?: number;
10
+ backwardJumpInterval?: number;
11
+ progressUpdateEventInterval?: number;
12
+ likeOptions?: FeedbackOptions;
13
+ dislikeOptions?: FeedbackOptions;
14
+ bookmarkOptions?: FeedbackOptions;
15
+ capabilities?: Capability[];
16
+ /**
17
+ * @deprecated Use `android` options and `appKilledPlaybackMode` instead.
18
+ * @example
19
+ * ```
20
+ * await TrackPlayer.updateOptions({
21
+ * android: {
22
+ * appKilledPlaybackMode: AppKilledPlaybackMode.PausePlayback
23
+ * },
24
+ * });
25
+ * ```
26
+ */
27
+ stoppingAppPausesPlayback?: boolean;
28
+ /**
29
+ * @deprecated use `TrackPlayer.updateOptions({ android: { alwaysPauseOnInterruption: boolean }})` instead
30
+ */
31
+ alwaysPauseOnInterruption?: boolean;
32
+ notificationCapabilities?: Capability[];
33
+ compactCapabilities?: Capability[];
34
+ icon?: ResourceObject;
35
+ playIcon?: ResourceObject;
36
+ pauseIcon?: ResourceObject;
37
+ stopIcon?: ResourceObject;
38
+ previousIcon?: ResourceObject;
39
+ nextIcon?: ResourceObject;
40
+ rewindIcon?: ResourceObject;
41
+ forwardIcon?: ResourceObject;
42
+ color?: number;
43
+ /**
44
+ * Android Only. Specifies custom Actions using the key customActionsList as a list of strings,
45
+ * then specify the imported icons for the actions to keys for each action.
46
+ * This is useful for android auto, as any extra buttons (when total > 5, > 4 extra buttons) will show up in a menu.
47
+ * please note customActions will always show in the notification bar, because there is no other way
48
+ * they will be called.
49
+ * isCompat is always false unless there is a need to show them.
50
+ */
51
+ customActions?: CustomButtons;
52
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
1
+ export interface AudioMetadataReceivedEvent {
2
+ metadata: AudioMetadata[];
3
+ }
4
+ export interface AudioCommonMetadataReceivedEvent {
5
+ metadata: AudioCommonMetadata;
6
+ }
7
+ export interface AudioCommonMetadata {
8
+ title: string | undefined;
9
+ artist: string | undefined;
10
+ albumTitle: string | undefined;
11
+ subtitle: string | undefined;
12
+ description: string | undefined;
13
+ artworkUri: string | undefined;
14
+ trackNumber: string | undefined;
15
+ composer: string | undefined;
16
+ conductor: string | undefined;
17
+ genre: string | undefined;
18
+ compilation: string | undefined;
19
+ station: string | undefined;
20
+ mediaType: string | undefined;
21
+ creationDate: string | undefined;
22
+ creationYear: string | undefined;
23
+ }
24
+ export interface AudioMetadata extends AudioCommonMetadata {
25
+ raw: RawEntry[];
26
+ }
27
+ export interface RawEntry {
28
+ commonKey: string | undefined;
29
+ keySpace: string | undefined;
30
+ time: number | undefined;
31
+ value: unknown | null;
32
+ key: string;
33
+ }
@@ -0,0 +1,8 @@
1
+ export interface ControllerConnectedEvent extends ControllerDisconnectedEvent {
2
+ isMediaNotificationController: boolean;
3
+ isAutomotiveController: boolean;
4
+ isAutoCompanionController: boolean;
5
+ }
6
+ export interface ControllerDisconnectedEvent {
7
+ package: string;
8
+ }
@@ -0,0 +1,77 @@
1
+ import { Event } from '../../constants';
2
+ import type { PlaybackState } from '../PlaybackState';
3
+ import type { PlaybackActiveTrackChangedEvent } from './PlaybackActiveTrackChangedEvent';
4
+ import type { PlaybackErrorEvent } from './PlaybackErrorEvent';
5
+ import type { PlaybackMetadataReceivedEvent } from './PlaybackMetadataReceivedEvent';
6
+ import type { AudioMetadataReceivedEvent } from './AudioMetadataReceivedEvent';
7
+ import type { AudioCommonMetadataReceivedEvent } from './AudioMetadataReceivedEvent';
8
+ import type { PlaybackPlayWhenReadyChangedEvent } from './PlaybackPlayWhenReadyChangedEvent';
9
+ import type { PlaybackProgressUpdatedEvent } from './PlaybackProgressUpdatedEvent';
10
+ import type { PlaybackQueueEndedEvent } from './PlaybackQueueEndedEvent';
11
+ import type { PlaybackTrackChangedEvent } from './PlaybackTrackChangedEvent';
12
+ import { PlayerErrorEvent } from './PlayerErrorEvent';
13
+ import type { RemoteDuckEvent } from './RemoteDuckEvent';
14
+ import type { RemoteJumpBackwardEvent } from './RemoteJumpBackwardEvent';
15
+ import type { RemoteJumpForwardEvent } from './RemoteJumpForwardEvent';
16
+ import type { RemotePlayIdEvent } from './RemotePlayIdEvent';
17
+ import type { RemotePlaySearchEvent } from './RemotePlaySearchEvent';
18
+ import type { RemoteSearchEvent } from './RemoteSearchEvent';
19
+ import type { RemoteSeekEvent } from './RemoteSeekEvent';
20
+ import type { RemoteSetRatingEvent } from './RemoteSetRatingEvent';
21
+ import type { RemoteSkipEvent } from './RemoteSkipEvent';
22
+ import type { PlaybackAnimatedVolumeChangedEvent } from './PlaybackAnimatedVolumeChangedEvent';
23
+ import type { RemoteBrowseEvent } from './RemoteBrowseEvent';
24
+ import type { RemoteCustomActionEvent } from './RemoteCustomActionEvent';
25
+ import type { PlaybackResumeEvent } from './PlaybackResumeEvent';
26
+ import type { ControllerConnectedEvent, ControllerDisconnectedEvent } from './ControllerConnectedEvent';
27
+ import type { FFTUpdateEvent } from './FFTUpdateEvent';
28
+ export type EventPayloadByEvent = {
29
+ [Event.PlayerError]: PlayerErrorEvent;
30
+ [Event.PlaybackState]: PlaybackState;
31
+ [Event.PlaybackError]: PlaybackErrorEvent;
32
+ [Event.PlaybackQueueEnded]: PlaybackQueueEndedEvent;
33
+ [Event.PlaybackTrackChanged]: PlaybackTrackChangedEvent;
34
+ [Event.PlaybackActiveTrackChanged]: PlaybackActiveTrackChangedEvent;
35
+ [Event.PlaybackMetadataReceived]: PlaybackMetadataReceivedEvent;
36
+ [Event.PlaybackPlayWhenReadyChanged]: PlaybackPlayWhenReadyChangedEvent;
37
+ [Event.PlaybackProgressUpdated]: PlaybackProgressUpdatedEvent;
38
+ [Event.RemotePlay]: never;
39
+ [Event.RemotePlayPause]: never;
40
+ [Event.RemotePlayId]: RemotePlayIdEvent;
41
+ [Event.RemotePlaySearch]: RemotePlaySearchEvent;
42
+ [Event.RemoteSearch]: RemoteSearchEvent;
43
+ [Event.RemotePause]: never;
44
+ [Event.RemoteStop]: never;
45
+ [Event.RemoteSkip]: RemoteSkipEvent;
46
+ [Event.RemoteNext]: never;
47
+ [Event.RemotePrevious]: never;
48
+ [Event.RemoteJumpForward]: RemoteJumpForwardEvent;
49
+ [Event.RemoteJumpBackward]: RemoteJumpBackwardEvent;
50
+ [Event.RemoteSeek]: RemoteSeekEvent;
51
+ [Event.RemoteSetRating]: RemoteSetRatingEvent;
52
+ [Event.RemoteDuck]: RemoteDuckEvent;
53
+ [Event.RemoteLike]: never;
54
+ [Event.RemoteDislike]: never;
55
+ [Event.RemoteBookmark]: never;
56
+ [Event.PlaybackAnimatedVolumeChanged]: PlaybackAnimatedVolumeChangedEvent;
57
+ [Event.RemoteBrowse]: RemoteBrowseEvent;
58
+ [Event.PlaybackResume]: PlaybackResumeEvent;
59
+ [Event.RemoteCustomAction]: RemoteCustomActionEvent;
60
+ [Event.MetadataChapterReceived]: AudioMetadataReceivedEvent;
61
+ [Event.MetadataTimedReceived]: AudioMetadataReceivedEvent;
62
+ [Event.MetadataCommonReceived]: AudioCommonMetadataReceivedEvent;
63
+ [Event.connectorConnected]: ControllerConnectedEvent;
64
+ [Event.connectorDisconnected]: ControllerDisconnectedEvent;
65
+ [Event.fftUpdate]: FFTUpdateEvent;
66
+ };
67
+ type Simplify<T> = {
68
+ [KeyType in keyof T]: T[KeyType];
69
+ } & {};
70
+ export type EventPayloadByEventWithType = {
71
+ [K in keyof EventPayloadByEvent]: EventPayloadByEvent[K] extends never ? {
72
+ type: K;
73
+ } : Simplify<EventPayloadByEvent[K] & {
74
+ type: K;
75
+ }>;
76
+ };
77
+ export {};
@@ -0,0 +1 @@
1
+ import { Event } from '../../constants';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * android & ios only. returns a FFT doubleArray of the current playback, sample rate = 4096
3
+ **/
4
+ export interface FFTUpdateEvent {
5
+ data: number[];
6
+ amplitude?: number;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import type { Track } from '../Track';
2
+ export interface PlaybackActiveTrackChangedEvent {
3
+ /** The index of previously active track. */
4
+ lastIndex?: number;
5
+ /**
6
+ * The previously active track or `undefined` when there wasn't a previously
7
+ * active track.
8
+ */
9
+ lastTrack?: Track;
10
+ /**
11
+ * The position of the previously active track in seconds.
12
+ */
13
+ lastPosition: number;
14
+ /**
15
+ * The newly active track index or `undefined` if there is no longer an
16
+ * active track.
17
+ */
18
+ index?: number;
19
+ /**
20
+ * The newly active track or `undefined` if there is no longer an
21
+ * active track.
22
+ */
23
+ track?: Track;
24
+ }
@@ -0,0 +1,4 @@
1
+ export interface PlaybackAnimatedVolumeChangedEvent {
2
+ /** the event message */
3
+ data: string;
4
+ }
@@ -0,0 +1,6 @@
1
+ export interface PlaybackErrorEvent {
2
+ /** The error code */
3
+ code: string;
4
+ /** The error message */
5
+ message: string;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ export interface PlaybackMetadataReceivedEvent {
2
+ /** The metadata source */
3
+ source: string;
4
+ /** The track title */
5
+ title: string | null;
6
+ /** The track url */
7
+ url: string | null;
8
+ /** The track artist */
9
+ artist: string | null;
10
+ /** The track album */
11
+ album: string | null;
12
+ /** The track date */
13
+ date: string | null;
14
+ /** The track genre */
15
+ genre: string | null;
16
+ }
@@ -0,0 +1,4 @@
1
+ export interface PlaybackPlayWhenReadyChangedEvent {
2
+ /** Whether the player will play when it is ready to do so. */
3
+ playWhenReady: boolean;
4
+ }
@@ -0,0 +1,4 @@
1
+ import type { Progress } from '../Progress';
2
+ export interface PlaybackProgressUpdatedEvent extends Progress {
3
+ track: number;
4
+ }
@@ -0,0 +1,9 @@
1
+ export interface PlaybackQueueEndedEvent {
2
+ /** The index of the active track when the playback queue ended. */
3
+ track: number;
4
+ /**
5
+ * The playback position in seconds of the active track when the playback
6
+ * queue ended.
7
+ **/
8
+ position: number;
9
+ }
@@ -0,0 +1,3 @@
1
+ export interface PlaybackResumeEvent {
2
+ package: string;
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @deprecated
3
+ */
4
+ export interface PlaybackTrackChangedEvent {
5
+ /** The index of previously active track. */
6
+ track: number | null;
7
+ /** The previous track position in seconds. */
8
+ position: number;
9
+ /** The next (active) track index. */
10
+ nextTrack: number;
11
+ }
@@ -0,0 +1,6 @@
1
+ export interface PlayerErrorEvent {
2
+ /** The error code */
3
+ code: 'android-foreground-service-start-not-allowed';
4
+ /** The error message */
5
+ message: string;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface RemoteBrowseEvent {
2
+ /** The browsable media id */
3
+ mediaId: string;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface RemoteCustomActionEvent {
2
+ /**
3
+ * The custom action button pressed event.
4
+ * remote-custom-action
5
+ **/
6
+ customAction: string;
7
+ }
@@ -0,0 +1,13 @@
1
+ export interface RemoteDuckEvent {
2
+ /**
3
+ * On Android when true the player should pause playback, when false the
4
+ * player may resume playback. On iOS when true the playback was paused and
5
+ * when false the player may resume playback.
6
+ **/
7
+ paused: boolean;
8
+ /**
9
+ * Whether the interruption is permanent. On Android the player should stop
10
+ * playback.
11
+ **/
12
+ permanent: boolean;
13
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface RemoteJumpBackwardEvent {
2
+ /**
3
+ * The number of seconds to jump backward.
4
+ * See https://rntp.dev/docs/api/events#remotejumpbackward
5
+ **/
6
+ interval: number;
7
+ }
@@ -0,0 +1,7 @@
1
+ export interface RemoteJumpForwardEvent {
2
+ /**
3
+ * The number of seconds to jump forward.
4
+ * See https://rntp.dev/docs/api/events#remotejumpforward
5
+ **/
6
+ interval: number;
7
+ }
@@ -0,0 +1,4 @@
1
+ export interface RemotePlayIdEvent {
2
+ /** The track id */
3
+ id: string;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ export interface RemotePlaySearchEvent {
2
+ query: string;
3
+ focus?: 'artist' | 'album' | 'playlist' | 'genre';
4
+ title?: string;
5
+ artist?: string;
6
+ album?: string;
7
+ date?: string;
8
+ playlist?: string;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export interface RemoteSearchEvent {
2
+ query: string;
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface RemoteSeekEvent {
2
+ /** The position to seek to in seconds. */
3
+ position: number;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { RatingType } from '../../constants';
2
+ export interface RemoteSetRatingEvent {
3
+ rating: RatingType;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export interface RemoteSkipEvent {
2
+ index: number;
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ export * from './EventPayloadByEvent';
2
+ export * from './PlaybackActiveTrackChangedEvent';
3
+ export * from './PlaybackErrorEvent';
4
+ export * from './PlaybackMetadataReceivedEvent';
5
+ export * from './PlaybackPlayWhenReadyChangedEvent';
6
+ export * from './PlaybackProgressUpdatedEvent';
7
+ export * from './PlaybackQueueEndedEvent';
8
+ export * from './PlaybackTrackChangedEvent';
9
+ export * from './RemoteDuckEvent';
10
+ export * from './RemoteJumpBackwardEvent';
11
+ export * from './RemoteJumpForwardEvent';
12
+ export * from './RemotePlayIdEvent';
13
+ export * from './RemotePlaySearchEvent';
14
+ export * from './RemoteSearchEvent';
15
+ export * from './RemoteSeekEvent';
16
+ export * from './RemoteSetRatingEvent';
17
+ export * from './RemoteSkipEvent';
18
+ export * from './RemoteBrowseEvent';
19
+ export * from './ControllerConnectedEvent';
20
+ export * from './FFTUpdateEvent';
@@ -0,0 +1,20 @@
1
+ export * from './EventPayloadByEvent';
2
+ export * from './PlaybackActiveTrackChangedEvent';
3
+ export * from './PlaybackErrorEvent';
4
+ export * from './PlaybackMetadataReceivedEvent';
5
+ export * from './PlaybackPlayWhenReadyChangedEvent';
6
+ export * from './PlaybackProgressUpdatedEvent';
7
+ export * from './PlaybackQueueEndedEvent';
8
+ export * from './PlaybackTrackChangedEvent';
9
+ export * from './RemoteDuckEvent';
10
+ export * from './RemoteJumpBackwardEvent';
11
+ export * from './RemoteJumpForwardEvent';
12
+ export * from './RemotePlayIdEvent';
13
+ export * from './RemotePlaySearchEvent';
14
+ export * from './RemoteSearchEvent';
15
+ export * from './RemoteSeekEvent';
16
+ export * from './RemoteSetRatingEvent';
17
+ export * from './RemoteSkipEvent';
18
+ export * from './RemoteBrowseEvent';
19
+ export * from './ControllerConnectedEvent';
20
+ export * from './FFTUpdateEvent';
@@ -0,0 +1,15 @@
1
+ export * from './AndroidOptions';
2
+ export * from './FeedbackOptions';
3
+ export * from './MetadataOptions';
4
+ export * from './NowPlayingMetadata';
5
+ export * from './PlaybackState';
6
+ export * from './PlayerOptions';
7
+ export * from './Progress';
8
+ export * from './ResourceObject';
9
+ export * from './ServiceHandler';
10
+ export * from './Track';
11
+ export * from './TrackMetadataBase';
12
+ export * from './UpdateOptions';
13
+ export * from './events';
14
+ export * from './MediaItem';
15
+ export * from './AndroidAutoBrowseTree';
@@ -0,0 +1,15 @@
1
+ export * from './AndroidOptions';
2
+ export * from './FeedbackOptions';
3
+ export * from './MetadataOptions';
4
+ export * from './NowPlayingMetadata';
5
+ export * from './PlaybackState';
6
+ export * from './PlayerOptions';
7
+ export * from './Progress';
8
+ export * from './ResourceObject';
9
+ export * from './ServiceHandler';
10
+ export * from './Track';
11
+ export * from './TrackMetadataBase';
12
+ export * from './UpdateOptions';
13
+ export * from './events';
14
+ export * from './MediaItem';
15
+ export * from './AndroidAutoBrowseTree';
@@ -0,0 +1,2 @@
1
+ import resolve from 'react-native/Libraries/Image/resolveAssetSource';
2
+ export default resolve;
@@ -0,0 +1,3 @@
1
+ // @ts-expect-error because resolveAssetSource is untyped
2
+ import resolve from 'react-native/Libraries/Image/resolveAssetSource';
3
+ export default resolve;
@@ -0,0 +1,2 @@
1
+ declare const resolveAssetResource: (base64: unknown) => unknown;
2
+ export default resolveAssetResource;
@@ -0,0 +1,8 @@
1
+ const resolveAssetResource = (base64) => {
2
+ if (/^https?:\/\//.test(base64)) {
3
+ return base64;
4
+ }
5
+ // TODO: resolveAssetResource for web
6
+ return base64;
7
+ };
8
+ export default resolveAssetResource;