@javascriptcommon/react-native-track-player 1.2.23 → 4.1.5

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 (507) hide show
  1. package/LICENSE +201 -21
  2. package/README.md +8 -0
  3. package/android/build.gradle +80 -63
  4. package/android/proguard-rules.txt +0 -3
  5. package/android/src/main/AndroidManifest.xml +10 -11
  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/{guichaguri → doublesymmetry}/trackplayer/extensions/AudioPlayerStateExt.kt +3 -3
  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/{guichaguri → doublesymmetry}/trackplayer/model/MetadataAdapter.kt +20 -17
  12. package/android/src/main/java/com/doublesymmetry/trackplayer/model/NowPlayingMetadata.kt +16 -0
  13. package/android/src/main/java/com/{guichaguri/trackplayer/kotlinaudio/models → doublesymmetry/trackplayer/model}/PlaybackMetadata.kt +31 -28
  14. package/android/src/main/java/com/{guichaguri → doublesymmetry}/trackplayer/model/State.kt +1 -1
  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/{guichaguri → doublesymmetry}/trackplayer/module/MusicEvents.kt +10 -9
  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/{guichaguri/trackplayer/service → doublesymmetry/trackplayer/utils}/BundleUtils.kt +50 -20
  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/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/event/EventHolder.kt +7 -7
  29. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/event/PlayerEventHolder.kt +22 -9
  30. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/AudioContentType.kt +1 -1
  31. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/AudioItem.kt +118 -0
  32. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/AudioItemTransitionReason.kt +3 -3
  33. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/AudioPlayerState.kt +2 -2
  34. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/BufferConfig.kt +1 -1
  35. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/CacheConfig.kt +1 -1
  36. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/Capability.kt +1 -1
  37. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/CustomButton.kt +19 -0
  38. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/FocusChangeData.kt +1 -1
  39. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/MediaSessionCallback.kt +1 -1
  40. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PlayWhenReadyChangeData.kt +1 -3
  41. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PlaybackEndedReason.kt +1 -1
  42. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PlaybackError.kt +1 -1
  43. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PlayerConfig.kt +8 -5
  44. package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/PlayerOptions.kt +40 -0
  45. package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PositionChangedReason.kt +1 -1
  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/{guichaguri/trackplayer/kotlinaudio/players → lovegaoshi/kotlinaudio/player}/QueuedAudioPlayer.kt +68 -58
  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 +3 -4
  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/ic_home-playstore.png +0 -0
  376. package/android/src/main/ic_repeat-playstore.png +0 -0
  377. package/android/src/main/ic_repeat_50-playstore.png +0 -0
  378. package/android/src/main/ic_shuffle-playstore.png +0 -0
  379. package/android/src/main/ic_shuffle_50-playstore.png +0 -0
  380. package/android/src/main/ic_shuffle_sm-playstore.png +0 -0
  381. package/android/src/main/ic_stop-playstore.png +0 -0
  382. package/android/src/main/ic_test-playstore.png +0 -0
  383. package/android/src/main/java/com/guichaguri/trackplayer/HeadlessJsMediaService.java +0 -225
  384. package/android/src/main/java/com/guichaguri/trackplayer/TrackPlayer.kt +0 -25
  385. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/event/NotificationEventHolder.kt +0 -20
  386. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/AAMediaSessionCallback.kt +0 -10
  387. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/AudioItem.kt +0 -66
  388. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/NotificationConfig.kt +0 -43
  389. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/NotificationMetadata.kt +0 -8
  390. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/NotificationState.kt +0 -8
  391. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/PlayerOptions.kt +0 -9
  392. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/QueuedPlayerOptions.kt +0 -49
  393. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/notification/NotificationManager.kt +0 -678
  394. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/players/AudioPlayer.kt +0 -10
  395. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/players/BaseAudioPlayer.kt +0 -864
  396. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/players/components/MediaSourceExt.kt +0 -35
  397. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/players/components/PlayerCache.kt +0 -26
  398. package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/utils/Utils.kt +0 -12
  399. package/android/src/main/java/com/guichaguri/trackplayer/model/Track.kt +0 -120
  400. package/android/src/main/java/com/guichaguri/trackplayer/model/TrackAudioItem.kt +0 -19
  401. package/android/src/main/java/com/guichaguri/trackplayer/model/TrackType.kt +0 -11
  402. package/android/src/main/java/com/guichaguri/trackplayer/module/AutoConnectionDetector.kt +0 -151
  403. package/android/src/main/java/com/guichaguri/trackplayer/module/MusicModule.kt +0 -1177
  404. package/android/src/main/java/com/guichaguri/trackplayer/service/MusicBinder.kt +0 -31
  405. package/android/src/main/java/com/guichaguri/trackplayer/service/MusicManager.kt +0 -347
  406. package/android/src/main/java/com/guichaguri/trackplayer/service/MusicService.kt +0 -1254
  407. package/android/src/main/java/com/guichaguri/trackplayer/service/Utils.kt +0 -228
  408. package/android/src/main/java/com/guichaguri/trackplayer/service/metadata/ButtonEvents.kt +0 -141
  409. package/android/src/main/java/com/guichaguri/trackplayer/service/metadata/MetadataManager.kt +0 -396
  410. package/android/src/main/res/drawable-hdpi/ic_forward.png +0 -0
  411. package/android/src/main/res/drawable-hdpi/ic_home.png +0 -0
  412. package/android/src/main/res/drawable-hdpi/ic_next.png +0 -0
  413. package/android/src/main/res/drawable-hdpi/ic_pause.png +0 -0
  414. package/android/src/main/res/drawable-hdpi/ic_play.png +0 -0
  415. package/android/src/main/res/drawable-hdpi/ic_previous.png +0 -0
  416. package/android/src/main/res/drawable-hdpi/ic_rewind.png +0 -0
  417. package/android/src/main/res/drawable-hdpi/ic_stop.png +0 -0
  418. package/android/src/main/res/drawable-mdpi/ic_forward.png +0 -0
  419. package/android/src/main/res/drawable-mdpi/ic_home.png +0 -0
  420. package/android/src/main/res/drawable-mdpi/ic_next.png +0 -0
  421. package/android/src/main/res/drawable-mdpi/ic_pause.png +0 -0
  422. package/android/src/main/res/drawable-mdpi/ic_play.png +0 -0
  423. package/android/src/main/res/drawable-mdpi/ic_previous.png +0 -0
  424. package/android/src/main/res/drawable-mdpi/ic_rewind.png +0 -0
  425. package/android/src/main/res/drawable-mdpi/ic_stop.png +0 -0
  426. package/android/src/main/res/drawable-xhdpi/ic_forward.png +0 -0
  427. package/android/src/main/res/drawable-xhdpi/ic_home.png +0 -0
  428. package/android/src/main/res/drawable-xhdpi/ic_next.png +0 -0
  429. package/android/src/main/res/drawable-xhdpi/ic_pause.png +0 -0
  430. package/android/src/main/res/drawable-xhdpi/ic_play.png +0 -0
  431. package/android/src/main/res/drawable-xhdpi/ic_previous.png +0 -0
  432. package/android/src/main/res/drawable-xhdpi/ic_rewind.png +0 -0
  433. package/android/src/main/res/drawable-xhdpi/ic_stop.png +0 -0
  434. package/android/src/main/res/drawable-xxhdpi/ic_forward.png +0 -0
  435. package/android/src/main/res/drawable-xxhdpi/ic_home.png +0 -0
  436. package/android/src/main/res/drawable-xxhdpi/ic_next.png +0 -0
  437. package/android/src/main/res/drawable-xxhdpi/ic_pause.png +0 -0
  438. package/android/src/main/res/drawable-xxhdpi/ic_play.png +0 -0
  439. package/android/src/main/res/drawable-xxhdpi/ic_previous.png +0 -0
  440. package/android/src/main/res/drawable-xxhdpi/ic_rewind.png +0 -0
  441. package/android/src/main/res/drawable-xxhdpi/ic_stop.png +0 -0
  442. package/android/src/main/res/drawable-xxxhdpi/ic_forward.png +0 -0
  443. package/android/src/main/res/drawable-xxxhdpi/ic_home.png +0 -0
  444. package/android/src/main/res/drawable-xxxhdpi/ic_next.png +0 -0
  445. package/android/src/main/res/drawable-xxxhdpi/ic_pause.png +0 -0
  446. package/android/src/main/res/drawable-xxxhdpi/ic_play.png +0 -0
  447. package/android/src/main/res/drawable-xxxhdpi/ic_previous.png +0 -0
  448. package/android/src/main/res/drawable-xxxhdpi/ic_rewind.png +0 -0
  449. package/android/src/main/res/drawable-xxxhdpi/ic_stop.png +0 -0
  450. package/android/src/main/res/mipmap-hdpi/ic_arrow_down_circle_foreground.png +0 -0
  451. package/android/src/main/res/mipmap-hdpi/ic_clock_now_foreground.png +0 -0
  452. package/android/src/main/res/mipmap-hdpi/ic_close_foreground.png +0 -0
  453. package/android/src/main/res/mipmap-hdpi/ic_heart_foreground.png +0 -0
  454. package/android/src/main/res/mipmap-hdpi/ic_heart_outlined_foreground.png +0 -0
  455. package/android/src/main/res/mipmap-hdpi/ic_repeat_off_foreground.png +0 -0
  456. package/android/src/main/res/mipmap-hdpi/ic_repeat_on_foreground.png +0 -0
  457. package/android/src/main/res/mipmap-hdpi/ic_shuffle_off_foreground.png +0 -0
  458. package/android/src/main/res/mipmap-hdpi/ic_shuffle_on_foreground.png +0 -0
  459. package/android/src/main/res/mipmap-mdpi/ic_arrow_down_circle_foreground.png +0 -0
  460. package/android/src/main/res/mipmap-mdpi/ic_clock_now_foreground.png +0 -0
  461. package/android/src/main/res/mipmap-mdpi/ic_close_foreground.png +0 -0
  462. package/android/src/main/res/mipmap-mdpi/ic_heart_foreground.png +0 -0
  463. package/android/src/main/res/mipmap-mdpi/ic_heart_outlined_foreground.png +0 -0
  464. package/android/src/main/res/mipmap-mdpi/ic_repeat_off_foreground.png +0 -0
  465. package/android/src/main/res/mipmap-mdpi/ic_repeat_on_foreground.png +0 -0
  466. package/android/src/main/res/mipmap-mdpi/ic_shuffle_off_foreground.png +0 -0
  467. package/android/src/main/res/mipmap-mdpi/ic_shuffle_on_foreground.png +0 -0
  468. package/android/src/main/res/mipmap-xhdpi/ic_arrow_down_circle_foreground.png +0 -0
  469. package/android/src/main/res/mipmap-xhdpi/ic_clock_now_foreground.png +0 -0
  470. package/android/src/main/res/mipmap-xhdpi/ic_close_foreground.png +0 -0
  471. package/android/src/main/res/mipmap-xhdpi/ic_heart_foreground.png +0 -0
  472. package/android/src/main/res/mipmap-xhdpi/ic_heart_outlined_foreground.png +0 -0
  473. package/android/src/main/res/mipmap-xhdpi/ic_repeat_off_foreground.png +0 -0
  474. package/android/src/main/res/mipmap-xhdpi/ic_repeat_on_foreground.png +0 -0
  475. package/android/src/main/res/mipmap-xhdpi/ic_shuffle_off_foreground.png +0 -0
  476. package/android/src/main/res/mipmap-xhdpi/ic_shuffle_on_foreground.png +0 -0
  477. package/android/src/main/res/mipmap-xxhdpi/ic_arrow_down_circle_foreground.png +0 -0
  478. package/android/src/main/res/mipmap-xxhdpi/ic_clock_now_foreground.png +0 -0
  479. package/android/src/main/res/mipmap-xxhdpi/ic_close_foreground.png +0 -0
  480. package/android/src/main/res/mipmap-xxhdpi/ic_heart_foreground.png +0 -0
  481. package/android/src/main/res/mipmap-xxhdpi/ic_heart_outlined_foreground.png +0 -0
  482. package/android/src/main/res/mipmap-xxhdpi/ic_repeat_off_foreground.png +0 -0
  483. package/android/src/main/res/mipmap-xxhdpi/ic_repeat_on_foreground.png +0 -0
  484. package/android/src/main/res/mipmap-xxhdpi/ic_shuffle_off_foreground.png +0 -0
  485. package/android/src/main/res/mipmap-xxhdpi/ic_shuffle_on_foreground.png +0 -0
  486. package/android/src/main/res/mipmap-xxxhdpi/ic_arrow_down_circle_foreground.png +0 -0
  487. package/android/src/main/res/mipmap-xxxhdpi/ic_clock_now_foreground.png +0 -0
  488. package/android/src/main/res/mipmap-xxxhdpi/ic_close_foreground.png +0 -0
  489. package/android/src/main/res/mipmap-xxxhdpi/ic_heart_foreground.png +0 -0
  490. package/android/src/main/res/mipmap-xxxhdpi/ic_heart_outlined_foreground.png +0 -0
  491. package/android/src/main/res/mipmap-xxxhdpi/ic_repeat_off_foreground.png +0 -0
  492. package/android/src/main/res/mipmap-xxxhdpi/ic_repeat_on_foreground.png +0 -0
  493. package/android/src/main/res/mipmap-xxxhdpi/ic_shuffle_off_foreground.png +0 -0
  494. package/android/src/main/res/mipmap-xxxhdpi/ic_shuffle_on_foreground.png +0 -0
  495. package/android/src/main/res/raw/silent_5_seconds.mp3 +0 -0
  496. package/android/src/main/res/strings.xml +0 -6
  497. package/index.d.ts +0 -235
  498. package/index.js +0 -4
  499. package/ios/RNTrackPlayer/RNTrackPlayerBridge.h +0 -12
  500. package/ios/RNTrackPlayer/RNTrackPlayerBridge.m +0 -29
  501. package/ios/TrackPlayer.xcodeproj/project.pbxproj +0 -495
  502. package/ios/TrackPlayer.xcodeproj/project.xcworkspace/xcuserdata/marco.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  503. package/lib/ProgressComponent.js +0 -70
  504. package/lib/eventTypes.js +0 -28
  505. package/lib/hooks.js +0 -160
  506. package/lib/index.js +0 -178
  507. /package/ios/{TrackPlayer.xcodeproj → Example/SwiftAudio.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
@@ -0,0 +1,134 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import { type UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
+ export interface Spec extends TurboModule {
4
+ setupPlayer(options: UnsafeObject, background: boolean): Promise<void>;
5
+ updateOptions(options: UnsafeObject): Promise<void>;
6
+ load(track: UnsafeObject): Promise<number | void>;
7
+ reset(): Promise<void>;
8
+ play(): Promise<void>;
9
+ pause(): Promise<void>;
10
+ stop(): Promise<void>;
11
+ setPlayWhenReady(playWhenReady: boolean): Promise<boolean>;
12
+ getPlayWhenReady(): Promise<boolean>;
13
+ seekTo(position: number): Promise<void>;
14
+ seekBy(offset: number): Promise<void>;
15
+ setVolume(level: number): Promise<void>;
16
+ getVolume(): Promise<number>;
17
+ setRate(rate: number): Promise<void>;
18
+ getRate(): Promise<number>;
19
+ getProgress(): Promise<UnsafeObject>;
20
+ getPlaybackState(): Promise<UnsafeObject>;
21
+ retry(): Promise<void>;
22
+ add(tracks: UnsafeObject[], insertBeforeIndex: number): Promise<number | void>;
23
+ move(fromIndex: number, toIndex: number): Promise<void>;
24
+ remove(indexes: number[]): Promise<void>;
25
+ removeUpcomingTracks(): Promise<void>;
26
+ skip(index: number, initialPosition: number): Promise<void>;
27
+ skipToNext(initialPosition: number): Promise<void>;
28
+ skipToPrevious(initialPosition: number): Promise<void>;
29
+ updateMetadataForTrack(trackIndex: number, metadata: UnsafeObject): Promise<void>;
30
+ updateNowPlayingMetadata(metadata: UnsafeObject): Promise<void>;
31
+ setQueue(tracks: UnsafeObject[]): Promise<void>;
32
+ getQueue(): Promise<UnsafeObject[]>;
33
+ setRepeatMode(mode: number): Promise<number>;
34
+ getRepeatMode(): Promise<number>;
35
+ getTrack(index: number): Promise<UnsafeObject | undefined>;
36
+ getActiveTrackIndex(): Promise<number | undefined>;
37
+ getActiveTrack(): Promise<UnsafeObject | undefined>;
38
+ setBrowseTree(browseTree: UnsafeObject): Promise<string>;
39
+ setPlaybackState(mediaID: string): Promise<void>;
40
+ setBrowseTreeStyle(browsableStyle: number, playableStyle: number): Promise<void>;
41
+ setSearchResults(searchResults: UnsafeObject[]): Promise<void>;
42
+ crossFadePrepare(previous: boolean, seekTo?: number): Promise<void>;
43
+ switchExoPlayer(fadeDuration: number, fadeInterval: number, fadeToVolume: number, waitUntil?: number): Promise<void>;
44
+ getLastConnectedPackage(): Promise<string | undefined>;
45
+ setLoudnessEnhance(gain: number): Promise<void>;
46
+ setEqualizerPreset(preset: number): Promise<void>;
47
+ getCurrentEqualizerPreset(): Promise<number>;
48
+ getEqualizerPresets(): Promise<string[]>;
49
+ addListener(eventName: string): void;
50
+ removeListeners(count: number): void;
51
+ getConstants: () => {
52
+ CAPABILITY_PLAY: number;
53
+ CAPABILITY_PLAY_FROM_ID: number;
54
+ CAPABILITY_PLAY_FROM_SEARCH: number;
55
+ CAPABILITY_PAUSE: number;
56
+ CAPABILITY_STOP: number;
57
+ CAPABILITY_SEEK_TO: number;
58
+ CAPABILITY_SKIP: number;
59
+ CAPABILITY_SKIP_TO_NEXT: number;
60
+ CAPABILITY_SKIP_TO_PREVIOUS: number;
61
+ CAPABILITY_SET_RATING: number;
62
+ CAPABILITY_JUMP_FORWARD: number;
63
+ CAPABILITY_JUMP_BACKWARD: number;
64
+ CAPABILITY_LIKE: number;
65
+ CAPABILITY_DISLIKE: number;
66
+ CAPABILITY_BOOKMARK: number;
67
+ STATE_NONE: string;
68
+ STATE_READY: string;
69
+ STATE_PLAYING: string;
70
+ STATE_PAUSED: string;
71
+ STATE_STOPPED: string;
72
+ STATE_BUFFERING: string;
73
+ STATE_LOADING: string;
74
+ RATING_HEART: number;
75
+ RATING_THUMBS_UP_DOWN: number;
76
+ RATING_3_STARS: number;
77
+ RATING_4_STARS: number;
78
+ RATING_5_STARS: number;
79
+ RATING_PERCENTAGE: number;
80
+ REPEAT_OFF: number;
81
+ REPEAT_TRACK: number;
82
+ REPEAT_QUEUE: number;
83
+ PITCH_ALGORITHM_LINEAR: number;
84
+ PITCH_ALGORITHM_MUSIC: number;
85
+ PITCH_ALGORITHM_VOICE: number;
86
+ };
87
+ acquireWakeLock(): Promise<void>;
88
+ abandonWakeLock(): Promise<void>;
89
+ setAnimatedVolume(volume: number, duration: number, interval: number, msg: string): Promise<void>;
90
+ fadeOutPause(duration: number, interval: number): Promise<void>;
91
+ fadeOutNext(duration: number, interval: number, toVolume: number): Promise<void>;
92
+ fadeOutPrevious(duration: number, interval: number, toVolume: number): Promise<void>;
93
+ fadeOutJump(index: number, duration: number, interval: number, toVolume: number): Promise<void>;
94
+ setPitch(pitch: number): Promise<void>;
95
+ getPitch(): Promise<number>;
96
+ }
97
+ declare const module: Spec;
98
+ export declare const Constants: {
99
+ CAPABILITY_PLAY: number;
100
+ CAPABILITY_PLAY_FROM_ID: number;
101
+ CAPABILITY_PLAY_FROM_SEARCH: number;
102
+ CAPABILITY_PAUSE: number;
103
+ CAPABILITY_STOP: number;
104
+ CAPABILITY_SEEK_TO: number;
105
+ CAPABILITY_SKIP: number;
106
+ CAPABILITY_SKIP_TO_NEXT: number;
107
+ CAPABILITY_SKIP_TO_PREVIOUS: number;
108
+ CAPABILITY_SET_RATING: number;
109
+ CAPABILITY_JUMP_FORWARD: number;
110
+ CAPABILITY_JUMP_BACKWARD: number;
111
+ CAPABILITY_LIKE: number;
112
+ CAPABILITY_DISLIKE: number;
113
+ CAPABILITY_BOOKMARK: number;
114
+ STATE_NONE: string;
115
+ STATE_READY: string;
116
+ STATE_PLAYING: string;
117
+ STATE_PAUSED: string;
118
+ STATE_STOPPED: string;
119
+ STATE_BUFFERING: string;
120
+ STATE_LOADING: string;
121
+ RATING_HEART: number;
122
+ RATING_THUMBS_UP_DOWN: number;
123
+ RATING_3_STARS: number;
124
+ RATING_4_STARS: number;
125
+ RATING_5_STARS: number;
126
+ RATING_PERCENTAGE: number;
127
+ REPEAT_OFF: number;
128
+ REPEAT_TRACK: number;
129
+ REPEAT_QUEUE: number;
130
+ PITCH_ALGORITHM_LINEAR: number;
131
+ PITCH_ALGORITHM_MUSIC: number;
132
+ PITCH_ALGORITHM_VOICE: number;
133
+ };
134
+ export default module;
@@ -0,0 +1,4 @@
1
+ import { TurboModuleRegistry } from 'react-native';
2
+ const module = TurboModuleRegistry.getEnforcing('TrackPlayer');
3
+ export const Constants = module?.getConstants();
4
+ export default module;
@@ -0,0 +1,2 @@
1
+ import TrackPlayerModule from '../web';
2
+ export default TrackPlayerModule;
@@ -0,0 +1,2 @@
1
+ import TrackPlayerModule from '../web';
2
+ export default TrackPlayerModule;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ interface VideoViewProps {
4
+ /**
5
+ * Style object that will be applied to the underlying native video view.
6
+ */
7
+ style?: StyleProp<ViewStyle>;
8
+ /**
9
+ * How the video should be resized to fit its container. On iOS this maps to
10
+ * AVLayerVideoGravity, on Android to ExoPlayer's resize mode.
11
+ * Defaults to "contain" (AspectFit).
12
+ */
13
+ resizeMode?: 'contain' | 'cover' | 'stretch' | 'none';
14
+ }
15
+ export declare const VideoView: React.FC<VideoViewProps>;
16
+ export default VideoView;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { requireNativeComponent, Platform, } from 'react-native';
3
+ /**
4
+ * VideoView is a convenience component that synchronises a <Video> component
5
+ * with the currently playing track from react-native-track-player.
6
+ *
7
+ * It will automatically:
8
+ * 1. Render nothing when the current track does not expose a video source.
9
+ * 2. Pause/resume playback based on TrackPlayer's playback state.
10
+ *
11
+ * This makes it trivial to embed alongside your existing audio UI:
12
+ *
13
+ * ```tsx
14
+ * <VideoView style={{ width: 300, height: 200 }} />
15
+ * ```
16
+ */
17
+ const NativeVideoView = requireNativeComponent(Platform.select({
18
+ ios: 'RNTrackPlayerVideoView',
19
+ android: 'RNTrackPlayerVideoView',
20
+ default: 'RNTrackPlayerVideoView',
21
+ }));
22
+ export const VideoView = ({ style, resizeMode = 'contain', }) => {
23
+ return <NativeVideoView style={style} resizeMode={resizeMode}/>;
24
+ };
25
+ export default VideoView;
@@ -0,0 +1,35 @@
1
+ export declare enum AndroidAudioContentType {
2
+ /**
3
+ * Content type value to use when the content type is music.
4
+ *
5
+ * See https://developer.android.com/reference/android/media/AudioAttributes#CONTENT_TYPE_MUSIC
6
+ */
7
+ Music = "music",
8
+ /**
9
+ * Content type value to use when the content type is speech.
10
+ *
11
+ * See https://developer.android.com/reference/android/media/AudioAttributes#CONTENT_TYPE_SPEECH
12
+ */
13
+ Speech = "speech",
14
+ /**
15
+ * Content type value to use when the content type is a sound used to
16
+ * accompany a user action, such as a beep or sound effect expressing a key
17
+ * click, or event, such as the type of a sound for a bonus being received in
18
+ * a game. These sounds are mostly synthesized or short Foley sounds.
19
+ *
20
+ * See https://developer.android.com/reference/android/media/AudioAttributes#CONTENT_TYPE_SONIFICATION
21
+ */
22
+ Sonification = "sonification",
23
+ /**
24
+ * Content type value to use when the content type is a soundtrack, typically
25
+ * accompanying a movie or TV program.
26
+ */
27
+ Movie = "movie",
28
+ /**
29
+ * Content type value to use when the content type is unknown, or other than
30
+ * the ones defined.
31
+ *
32
+ * See https://developer.android.com/reference/android/media/AudioAttributes#CONTENT_TYPE_UNKNOWN
33
+ */
34
+ Unknown = "unknown"
35
+ }
@@ -0,0 +1,36 @@
1
+ export var AndroidAudioContentType;
2
+ (function (AndroidAudioContentType) {
3
+ /**
4
+ * Content type value to use when the content type is music.
5
+ *
6
+ * See https://developer.android.com/reference/android/media/AudioAttributes#CONTENT_TYPE_MUSIC
7
+ */
8
+ AndroidAudioContentType["Music"] = "music";
9
+ /**
10
+ * Content type value to use when the content type is speech.
11
+ *
12
+ * See https://developer.android.com/reference/android/media/AudioAttributes#CONTENT_TYPE_SPEECH
13
+ */
14
+ AndroidAudioContentType["Speech"] = "speech";
15
+ /**
16
+ * Content type value to use when the content type is a sound used to
17
+ * accompany a user action, such as a beep or sound effect expressing a key
18
+ * click, or event, such as the type of a sound for a bonus being received in
19
+ * a game. These sounds are mostly synthesized or short Foley sounds.
20
+ *
21
+ * See https://developer.android.com/reference/android/media/AudioAttributes#CONTENT_TYPE_SONIFICATION
22
+ */
23
+ AndroidAudioContentType["Sonification"] = "sonification";
24
+ /**
25
+ * Content type value to use when the content type is a soundtrack, typically
26
+ * accompanying a movie or TV program.
27
+ */
28
+ AndroidAudioContentType["Movie"] = "movie";
29
+ /**
30
+ * Content type value to use when the content type is unknown, or other than
31
+ * the ones defined.
32
+ *
33
+ * See https://developer.android.com/reference/android/media/AudioAttributes#CONTENT_TYPE_UNKNOWN
34
+ */
35
+ AndroidAudioContentType["Unknown"] = "unknown";
36
+ })(AndroidAudioContentType || (AndroidAudioContentType = {}));
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Define Android Auto's content style. defualt is List. see
3
+ * https://developer.android.com/training/cars/media#apply_content_style
4
+ */
5
+ export declare enum AndroidAutoContentStyle {
6
+ List = 0,
7
+ Grid = 1,
8
+ CategoryList = 2,
9
+ CategoryGrid = 3
10
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Define Android Auto's content style. defualt is List. see
3
+ * https://developer.android.com/training/cars/media#apply_content_style
4
+ */
5
+ export var AndroidAutoContentStyle;
6
+ (function (AndroidAutoContentStyle) {
7
+ AndroidAutoContentStyle[AndroidAutoContentStyle["List"] = 0] = "List";
8
+ AndroidAutoContentStyle[AndroidAutoContentStyle["Grid"] = 1] = "Grid";
9
+ AndroidAutoContentStyle[AndroidAutoContentStyle["CategoryList"] = 2] = "CategoryList";
10
+ AndroidAutoContentStyle[AndroidAutoContentStyle["CategoryGrid"] = 3] = "CategoryGrid";
11
+ })(AndroidAutoContentStyle || (AndroidAutoContentStyle = {}));
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Define how the audio playback should behave to removing the app from recents (killing it). Default is `ContinuePlayback`.
3
+ */
4
+ export declare enum AppKilledPlaybackBehavior {
5
+ /**
6
+ * This option will continue playing audio in the background when the app is removed from recents. The notification remains. This is the default.
7
+ */
8
+ ContinuePlayback = "continue-playback",
9
+ /**
10
+ * This option will pause playing audio in the background when the app is removed from recents. The notification remains and can be used to resume playback.
11
+ */
12
+ PausePlayback = "pause-playback",
13
+ /**
14
+ * This option will stop playing audio in the background when the app is removed from recents. The notification is removed and can't be used to resume playback. Users would need to open the app again to start playing audio.
15
+ */
16
+ StopPlaybackAndRemoveNotification = "stop-playback-and-remove-notification"
17
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Define how the audio playback should behave to removing the app from recents (killing it). Default is `ContinuePlayback`.
3
+ */
4
+ export var AppKilledPlaybackBehavior;
5
+ (function (AppKilledPlaybackBehavior) {
6
+ /**
7
+ * This option will continue playing audio in the background when the app is removed from recents. The notification remains. This is the default.
8
+ */
9
+ AppKilledPlaybackBehavior["ContinuePlayback"] = "continue-playback";
10
+ /**
11
+ * This option will pause playing audio in the background when the app is removed from recents. The notification remains and can be used to resume playback.
12
+ */
13
+ AppKilledPlaybackBehavior["PausePlayback"] = "pause-playback";
14
+ /**
15
+ * This option will stop playing audio in the background when the app is removed from recents. The notification is removed and can't be used to resume playback. Users would need to open the app again to start playing audio.
16
+ */
17
+ AppKilledPlaybackBehavior["StopPlaybackAndRemoveNotification"] = "stop-playback-and-remove-notification";
18
+ })(AppKilledPlaybackBehavior || (AppKilledPlaybackBehavior = {}));
@@ -0,0 +1,17 @@
1
+ export declare enum Capability {
2
+ Play,
3
+ PlayFromId,
4
+ PlayFromSearch,
5
+ Pause,
6
+ Stop,
7
+ SeekTo,
8
+ Skip,
9
+ SkipToNext,
10
+ SkipToPrevious,
11
+ JumpForward,
12
+ JumpBackward,
13
+ SetRating,
14
+ Like,
15
+ Dislike,
16
+ Bookmark
17
+ }
@@ -0,0 +1,19 @@
1
+ import { Constants as TrackPlayer } from '../../specs/NativeTrackPlayer';
2
+ export var Capability;
3
+ (function (Capability) {
4
+ Capability[Capability["Play"] = TrackPlayer.CAPABILITY_PLAY] = "Play";
5
+ Capability[Capability["PlayFromId"] = TrackPlayer.CAPABILITY_PLAY_FROM_ID] = "PlayFromId";
6
+ Capability[Capability["PlayFromSearch"] = TrackPlayer.CAPABILITY_PLAY_FROM_SEARCH] = "PlayFromSearch";
7
+ Capability[Capability["Pause"] = TrackPlayer.CAPABILITY_PAUSE] = "Pause";
8
+ Capability[Capability["Stop"] = TrackPlayer.CAPABILITY_STOP] = "Stop";
9
+ Capability[Capability["SeekTo"] = TrackPlayer.CAPABILITY_SEEK_TO] = "SeekTo";
10
+ Capability[Capability["Skip"] = TrackPlayer.CAPABILITY_SKIP] = "Skip";
11
+ Capability[Capability["SkipToNext"] = TrackPlayer.CAPABILITY_SKIP_TO_NEXT] = "SkipToNext";
12
+ Capability[Capability["SkipToPrevious"] = TrackPlayer.CAPABILITY_SKIP_TO_PREVIOUS] = "SkipToPrevious";
13
+ Capability[Capability["JumpForward"] = TrackPlayer.CAPABILITY_JUMP_FORWARD] = "JumpForward";
14
+ Capability[Capability["JumpBackward"] = TrackPlayer.CAPABILITY_JUMP_BACKWARD] = "JumpBackward";
15
+ Capability[Capability["SetRating"] = TrackPlayer.CAPABILITY_SET_RATING] = "SetRating";
16
+ Capability[Capability["Like"] = TrackPlayer.CAPABILITY_LIKE] = "Like";
17
+ Capability[Capability["Dislike"] = TrackPlayer.CAPABILITY_DISLIKE] = "Dislike";
18
+ Capability[Capability["Bookmark"] = TrackPlayer.CAPABILITY_BOOKMARK] = "Bookmark";
19
+ })(Capability || (Capability = {}));
@@ -0,0 +1,172 @@
1
+ export declare enum Event {
2
+ PlayerError = "player-error",
3
+ /** Fired when the state of the player changes. */
4
+ PlaybackState = "playback-state",
5
+ /** Fired when a playback error occurs. */
6
+ PlaybackError = "playback-error",
7
+ /** (Android Only) Fired when animated volume completed changing. */
8
+ PlaybackAnimatedVolumeChanged = "playback-animated-volume-changed",
9
+ /** Fired after playback has paused due to the queue having reached the end. */
10
+ PlaybackQueueEnded = "playback-queue-ended",
11
+ /**
12
+ * Fired when another track has become active or when there no longer is an
13
+ * active track.
14
+ *
15
+ * @deprecated use `playback-active-track-changed` instead.
16
+ **/
17
+ PlaybackTrackChanged = "playback-track-changed",
18
+ /**
19
+ * Fired when another track has become active or when there no longer is an
20
+ * active track.
21
+ **/
22
+ PlaybackActiveTrackChanged = "playback-active-track-changed",
23
+ /**
24
+ * Fired when the current track receives metadata encoded in. (e.g. ID3 tags,
25
+ * Icy Metadata, Vorbis Comments or QuickTime metadata).
26
+ * @deprecated use `AudioChapterMetadataReceived, AudioTimedMetadataReceived, AudioCommonMetadataReceived` instead.
27
+ **/
28
+ PlaybackMetadataReceived = "playback-metadata-received",
29
+ /**
30
+ * Fired when playback play when ready has changed.
31
+ **/
32
+ PlaybackPlayWhenReadyChanged = "playback-play-when-ready-changed",
33
+ /**
34
+ * Fired when playback progress has been updated.
35
+ * See https://rntp.dev/docs/api/events#playbackprogressupdated
36
+ **/
37
+ PlaybackProgressUpdated = "playback-progress-updated",
38
+ /**
39
+ * Android media3 playback resumption. most likely require a
40
+ * headless setup.
41
+ */
42
+ PlaybackResume = "playback-resume-android",
43
+ /**
44
+ * Fired when the user presses the play button.
45
+ * See https://rntp.dev/docs/api/events#remoteplay
46
+ **/
47
+ RemotePlay = "remote-play",
48
+ /**
49
+ * Fired when the user presses the play/pause button.
50
+ **/
51
+ RemotePlayPause = "remote-play-pause",
52
+ /**
53
+ * Fired when the user presses the pause button.
54
+ * See https://rntp.dev/docs/api/events#remotepause
55
+ **/
56
+ RemotePause = "remote-pause",
57
+ /**
58
+ * Fired when the user presses the stop button.
59
+ * See https://rntp.dev/docs/api/events#remotestop
60
+ **/
61
+ RemoteStop = "remote-stop",
62
+ /**
63
+ * Fired when the user presses the next track button.
64
+ * See https://rntp.dev/docs/api/events#remotenext
65
+ **/
66
+ RemoteNext = "remote-next",
67
+ /**
68
+ * Fired when the user presses the previous track button.
69
+ * See https://rntp.dev/docs/api/events#remoteprevious
70
+ **/
71
+ RemotePrevious = "remote-previous",
72
+ /**
73
+ * Fired when the user presses the jump forward button.
74
+ * See https://rntp.dev/docs/api/events#remotejumpforward
75
+ **/
76
+ RemoteJumpForward = "remote-jump-forward",
77
+ /**
78
+ * Fired when the user presses the jump backward button.
79
+ * See https://rntp.dev/docs/api/events#remotejumpbackward
80
+ **/
81
+ RemoteJumpBackward = "remote-jump-backward",
82
+ /**
83
+ * Fired when the user changes the position of the timeline.
84
+ * See https://rntp.dev/docs/api/events#remoteseek
85
+ **/
86
+ RemoteSeek = "remote-seek",
87
+ /**
88
+ * Fired when the user changes the rating for the track remotely.
89
+ * See https://rntp.dev/docs/api/events#remotesetrating
90
+ **/
91
+ RemoteSetRating = "remote-set-rating",
92
+ /**
93
+ * Fired when the app needs to handle an audio interruption.
94
+ * See https://rntp.dev/docs/api/events#remoteduck
95
+ **/
96
+ RemoteDuck = "remote-duck",
97
+ /**
98
+ * (iOS only) Fired when the user presses the like button in the now playing
99
+ * center.
100
+ * See https://rntp.dev/docs/api/events#remotelike-ios-only
101
+ **/
102
+ RemoteLike = "remote-like",
103
+ /**
104
+ * (iOS only) Fired when the user presses the dislike button in the now playing
105
+ * center.
106
+ * See https://rntp.dev/docs/api/events#remotedislike-ios-only
107
+ **/
108
+ RemoteDislike = "remote-dislike",
109
+ /** (iOS only) Fired when the user presses the bookmark button in the now
110
+ * playing center.
111
+ * See https://rntp.dev/docs/api/events#remotebookmark-ios-only
112
+ **/
113
+ RemoteBookmark = "remote-bookmark",
114
+ /**
115
+ * (Android only) Fired when the user selects a track from an external device.
116
+ * See https://rntp.dev/docs/api/events#remoteplayid
117
+ **/
118
+ RemotePlayId = "remote-play-id",
119
+ /**
120
+ * (Android only) Fired when the user searches for a track (usually voice search).
121
+ * See https://rntp.dev/docs/api/events#remoteplaysearch
122
+ **/
123
+ RemotePlaySearch = "remote-play-search",
124
+ /**
125
+ * (Android only) Fired when the user searches for content.
126
+ * See https://rntp.dev/docs/api/events#remotesearch
127
+ **/
128
+ RemoteSearch = "remote-search",
129
+ /**
130
+ * (Android only) Fired when the user presses the skip button.
131
+ * See https://rntp.dev/docs/api/events#remoteskip
132
+ **/
133
+ RemoteSkip = "remote-skip",
134
+ /**
135
+ * (Android only) Fired when the user enters a browsable children in android auto.
136
+ * See https://rntp.dev/docs/api/events#remoteBrowse
137
+ **/
138
+ RemoteBrowse = "remote-browse",
139
+ /**
140
+ * (Android only) Fired when a custom action button is pressed.
141
+ * See https://rntp.dev/docs/api/events#remoteCustomAction
142
+ **/
143
+ RemoteCustomAction = "remote-custom-action",
144
+ /** (iOS only) Fired when chapter metadata is received.
145
+ * See https://rntp.dev/docs/api/events#chaptermetadatareceived
146
+ **/
147
+ MetadataChapterReceived = "metadata-chapter-received",
148
+ /**
149
+ * Fired when metadata is received at a specific time in the audio.
150
+ * See https://rntp.dev/docs/api/events#timedmetadatareceived
151
+ **/
152
+ MetadataTimedReceived = "metadata-timed-received",
153
+ /**
154
+ * Fired when common (static) metadata is received.
155
+ * See https://rntp.dev/docs/api/events#commonmetadatareceived
156
+ **/
157
+ MetadataCommonReceived = "metadata-common-received",
158
+ /**
159
+ * Fired when an android connector connects to MusicService.
160
+ * typical controllers are media notification and Android Auto.
161
+ **/
162
+ connectorConnected = "android-controller-connected",
163
+ /**
164
+ * Fired when an android connector connects to MusicService.
165
+ * typical controllers are media notification and Android Auto.
166
+ **/
167
+ connectorDisconnected = "android-controller-disconnected",
168
+ /**
169
+ * Fired when there is an fft update
170
+ **/
171
+ fftUpdate = "fft-updated"
172
+ }