@javascriptcommon/react-native-track-player 1.2.23 → 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.
- package/LICENSE +201 -21
- package/README.md +8 -0
- package/android/build.gradle +80 -63
- package/android/proguard-rules.txt +0 -3
- package/android/src/main/AndroidManifest.xml +10 -11
- package/android/src/main/java/com/doublesymmetry/trackplayer/HeadlessJsMediaService.kt +199 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/TrackPlayer.kt +33 -0
- package/android/src/main/java/com/{guichaguri → doublesymmetry}/trackplayer/extensions/AudioPlayerStateExt.kt +3 -3
- package/android/src/main/java/com/doublesymmetry/trackplayer/extensions/EnumExtensions.kt +5 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/extensions/NumberExt.kt +13 -0
- package/android/src/main/java/com/{guichaguri → doublesymmetry}/trackplayer/model/MetadataAdapter.kt +20 -17
- package/android/src/main/java/com/doublesymmetry/trackplayer/model/NowPlayingMetadata.kt +16 -0
- package/android/src/main/java/com/{guichaguri/trackplayer/kotlinaudio/models → doublesymmetry/trackplayer/model}/PlaybackMetadata.kt +31 -28
- package/android/src/main/java/com/{guichaguri → doublesymmetry}/trackplayer/model/State.kt +1 -1
- package/android/src/main/java/com/doublesymmetry/trackplayer/model/Track.kt +67 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/model/TrackAudioItem.kt +18 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/model/TrackMetadata.kt +38 -0
- package/android/src/main/java/com/{guichaguri → doublesymmetry}/trackplayer/module/MusicEvents.kt +10 -9
- package/android/src/main/java/com/doublesymmetry/trackplayer/module/MusicModule.kt +778 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/service/MusicService.kt +1286 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/utils/AppForegroundTracker.kt +35 -0
- package/android/src/main/java/com/{guichaguri/trackplayer/service → doublesymmetry/trackplayer/utils}/BundleUtils.kt +50 -20
- package/android/src/main/java/com/doublesymmetry/trackplayer/utils/CoilBitmapLoader.kt +65 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/utils/MediaItemBuilder.kt +41 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/utils/RejectionException.kt +11 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/video/TrackPlayerVideoView.kt +42 -0
- package/android/src/main/java/com/doublesymmetry/trackplayer/video/TrackPlayerVideoViewManager.kt +18 -0
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/event/EventHolder.kt +7 -7
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/event/PlayerEventHolder.kt +22 -9
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/AudioContentType.kt +1 -1
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/AudioItem.kt +118 -0
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/AudioItemTransitionReason.kt +3 -3
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/AudioPlayerState.kt +2 -2
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/BufferConfig.kt +1 -1
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/CacheConfig.kt +1 -1
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/Capability.kt +1 -1
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/CustomButton.kt +19 -0
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/FocusChangeData.kt +1 -1
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/MediaSessionCallback.kt +1 -1
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PlayWhenReadyChangeData.kt +1 -3
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PlaybackEndedReason.kt +1 -1
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PlaybackError.kt +1 -1
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PlayerConfig.kt +8 -5
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/PlayerOptions.kt +40 -0
- package/android/src/main/java/com/{guichaguri/trackplayer → lovegaoshi}/kotlinaudio/models/PositionChangedReason.kt +1 -1
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/RepeatMode.kt +16 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/models/WakeMode.kt +7 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/AudioPlayer.kt +756 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/ForwardingPlayer.java +1124 -0
- package/android/src/main/java/com/{guichaguri/trackplayer/kotlinaudio/players → lovegaoshi/kotlinaudio/player}/QueuedAudioPlayer.kt +68 -58
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/APMRenderersFactory.kt +33 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/Buffer.kt +34 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/Cache.kt +27 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/FocusManager.kt +59 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/player/components/MediaFactory.kt +130 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/processors/TeeListener.kt +171 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/service/MusicService.kt +127 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/utils/FFT.java +99 -0
- package/android/src/main/java/com/lovegaoshi/kotlinaudio/utils/Utils.kt +113 -0
- package/android/src/main/res/drawable/baseline_repeat_24.xml +5 -0
- package/android/src/main/res/drawable/baseline_repeat_one_24.xml +5 -0
- package/android/src/main/res/drawable/forward.xml +5 -0
- package/android/src/main/res/drawable/heart_24px.xml +5 -0
- package/android/src/main/res/drawable/hearte_24px.xml +5 -0
- package/android/src/main/res/drawable/ifl_24px.xml +5 -0
- package/android/src/main/res/drawable/rewind.xml +5 -0
- package/android/src/main/res/drawable/shuffle_24px.xml +5 -0
- package/android/src/main/res/values/strings.xml +3 -4
- package/android/src/main/res/xml/automotive_app_desc.xml +3 -0
- package/ios/Example/SwiftAudio/Assets.xcassets/22AMI.imageset/22AMillion.jpg +0 -0
- package/ios/Example/SwiftAudio/Assets.xcassets/22AMI.imageset/Contents.json +21 -0
- package/ios/Example/SwiftAudio/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
- package/ios/Example/SwiftAudio/Assets.xcassets/AppIcon.appiconset/Contents.json +58 -0
- package/ios/Example/SwiftAudio/Assets.xcassets/Contents.json +6 -0
- package/ios/Example/SwiftAudio/Assets.xcassets/cover.imageset/Contents.json +21 -0
- package/ios/Example/SwiftAudio/Assets.xcassets/cover.imageset/cover.jpg +0 -0
- package/ios/Example/SwiftAudio/AudioController.swift +46 -0
- package/ios/Example/SwiftAudio/Extensions.swift +22 -0
- package/ios/Example/SwiftAudio/PlayerView.swift +172 -0
- package/ios/Example/SwiftAudio/PlayerViewModel.swift +120 -0
- package/ios/Example/SwiftAudio/Preview Content/Preview Assets.xcassets/Contents.json +6 -0
- package/ios/Example/SwiftAudio/QueueView.swift +65 -0
- package/ios/{TrackPlayer.xcodeproj/xcuserdata/marco.xcuserdatad/xcschemes/xcschememanagement.plist → Example/SwiftAudio/SwiftAudio.entitlements} +6 -8
- package/ios/Example/SwiftAudio/SwiftAudioApp.swift +17 -0
- package/ios/Example/SwiftAudio.xcodeproj/project.pbxproj +412 -0
- package/ios/{TrackPlayer.xcodeproj → Example/SwiftAudio.xcodeproj}/project.xcworkspace/contents.xcworkspacedata +1 -1
- package/ios/RNTrackPlayer/Models/Capabilities.swift +39 -4
- package/ios/RNTrackPlayer/Models/MediaURL.swift +12 -6
- package/ios/RNTrackPlayer/Models/MetadataAdapter.swift +147 -0
- package/ios/RNTrackPlayer/Models/PitchAlgorithms.swift +13 -0
- package/ios/RNTrackPlayer/Models/SessionCategories.swift +106 -0
- package/ios/RNTrackPlayer/Models/State.swift +26 -0
- package/ios/RNTrackPlayer/Models/Track.swift +74 -54
- package/ios/RNTrackPlayer/RNTrackPlayer.swift +867 -406
- package/ios/RNTrackPlayer/Support/RNTrackPlayer-Bridging-Header.h +1 -0
- package/ios/RNTrackPlayer/TrackPlayer.h +14 -0
- package/ios/RNTrackPlayer/TrackPlayer.mm +249 -0
- package/ios/RNTrackPlayer/Utils/EventType.swift +45 -0
- package/ios/RNTrackPlayer/Utils/Metadata.swift +60 -0
- package/ios/RNTrackPlayer/Video/RNTrackPlayerVideoView.swift +83 -0
- package/ios/RNTrackPlayer/Video/RNTrackPlayerVideoViewManager.m +5 -0
- package/ios/RNTrackPlayer/Video/RNTrackPlayerVideoViewManager.swift +17 -0
- package/ios/SwiftAudioEx/Package.swift +20 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AVPlayerWrapper/AVPlayerWrapper.swift +531 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AVPlayerWrapper/AVPlayerWrapperDelegate.swift +27 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AVPlayerWrapper/AVPlayerWrapperProtocol.swift +69 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AVPlayerWrapper/AVPlayerWrapperState.swift +43 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioItem.swift +158 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioPlayer.swift +459 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioPlayerError.swift +26 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioSessionController/AudioSession.swift +33 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioSessionController/AudioSessionController.swift +135 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/AudioTap.swift +96 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Event.swift +155 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/MediaItemProperty.swift +95 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoCenter.swift +17 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoController.swift +73 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoControllerProtocol.swift +26 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoKeyValue.swift +14 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/NowPlayingInfoController/NowPlayingInfoProperty.swift +234 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Observer/AVPlayerItemNotificationObserver.swift +102 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Observer/AVPlayerItemObserver.swift +136 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Observer/AVPlayerObserver.swift +120 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Observer/AVPlayerTimeObserver.swift +112 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/QueueManager.swift +356 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/QueuedAudioPlayer.swift +236 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/RemoteCommandController/RemoteCommand.swift +170 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/RemoteCommandController/RemoteCommandController.swift +206 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/RepeatMode.swift +15 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/TimeEventFrequency.swift +26 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/Utils/DispatchQueueType.swift +18 -0
- package/ios/SwiftAudioEx/Sources/SwiftAudioEx/WaveformAudioTap.swift +159 -0
- package/lib/specs/NativeTrackPlayer.d.ts +134 -0
- package/lib/specs/NativeTrackPlayer.js +4 -0
- package/lib/src/TrackPlayerModule.web.d.ts +2 -0
- package/lib/src/TrackPlayerModule.web.js +2 -0
- package/lib/src/VideoView.d.ts +16 -0
- package/lib/src/VideoView.js +25 -0
- package/lib/src/constants/AndroidAudioContentType.d.ts +35 -0
- package/lib/src/constants/AndroidAudioContentType.js +36 -0
- package/lib/src/constants/AndroidAutoContentStyle.d.ts +10 -0
- package/lib/src/constants/AndroidAutoContentStyle.js +11 -0
- package/lib/src/constants/AppKilledPlaybackBehavior.d.ts +17 -0
- package/lib/src/constants/AppKilledPlaybackBehavior.js +18 -0
- package/lib/src/constants/Capability.d.ts +17 -0
- package/lib/src/constants/Capability.js +19 -0
- package/lib/src/constants/Event.d.ts +172 -0
- package/lib/src/constants/Event.js +173 -0
- package/lib/src/constants/IOSCategory.d.ts +36 -0
- package/lib/src/constants/IOSCategory.js +37 -0
- package/lib/src/constants/IOSCategoryMode.d.ts +47 -0
- package/lib/src/constants/IOSCategoryMode.js +48 -0
- package/lib/src/constants/IOSCategoryOptions.d.ts +44 -0
- package/lib/src/constants/IOSCategoryOptions.js +45 -0
- package/lib/src/constants/MediaItemPlayable.d.ts +4 -0
- package/lib/src/constants/MediaItemPlayable.js +5 -0
- package/lib/src/constants/PitchAlgorithm.d.ts +14 -0
- package/lib/src/constants/PitchAlgorithm.js +16 -0
- package/lib/src/constants/RatingType.d.ts +8 -0
- package/lib/src/constants/RatingType.js +10 -0
- package/lib/src/constants/RepeatMode.d.ts +8 -0
- package/lib/src/constants/RepeatMode.js +10 -0
- package/lib/src/constants/State.d.ts +34 -0
- package/lib/src/constants/State.js +35 -0
- package/lib/src/constants/TrackType.d.ts +6 -0
- package/lib/src/constants/TrackType.js +7 -0
- package/lib/src/constants/index.d.ts +14 -0
- package/lib/src/constants/index.js +14 -0
- package/lib/src/hooks/index.d.ts +6 -0
- package/lib/src/hooks/index.js +6 -0
- package/lib/src/hooks/useActiveTrack.d.ts +2 -0
- package/lib/src/hooks/useActiveTrack.js +28 -0
- package/lib/src/hooks/useAppIsInBackground.d.ts +1 -0
- package/lib/src/hooks/useAppIsInBackground.js +16 -0
- package/lib/src/hooks/useIsPlaying.d.ts +35 -0
- package/lib/src/hooks/useIsPlaying.js +50 -0
- package/lib/src/hooks/usePlayWhenReady.d.ts +1 -0
- package/lib/src/hooks/usePlayWhenReady.js +27 -0
- package/lib/src/hooks/usePlaybackState.d.ts +10 -0
- package/lib/src/hooks/usePlaybackState.js +35 -0
- package/lib/src/hooks/useProgress.d.ts +7 -0
- package/lib/src/hooks/useProgress.js +55 -0
- package/lib/src/hooks/useTrackPlayerEvents.d.ts +8 -0
- package/lib/src/hooks/useTrackPlayerEvents.js +30 -0
- package/lib/src/index.d.ts +6 -0
- package/lib/src/index.js +6 -0
- package/lib/src/interfaces/AndroidAutoBrowseTree.d.ts +5 -0
- package/lib/src/interfaces/AndroidAutoBrowseTree.js +1 -0
- package/lib/src/interfaces/AndroidOptions.d.ts +41 -0
- package/lib/src/interfaces/AndroidOptions.js +1 -0
- package/lib/src/interfaces/CustomButtons.d.ts +5 -0
- package/lib/src/interfaces/CustomButtons.js +1 -0
- package/lib/src/interfaces/FeedbackOptions.d.ts +6 -0
- package/lib/src/interfaces/FeedbackOptions.js +1 -0
- package/lib/src/interfaces/MediaItem.d.ts +18 -0
- package/lib/src/interfaces/MediaItem.js +1 -0
- package/lib/src/interfaces/MetadataOptions.d.ts +3 -0
- package/lib/src/interfaces/MetadataOptions.js +1 -0
- package/lib/src/interfaces/NowPlayingMetadata.d.ts +4 -0
- package/lib/src/interfaces/NowPlayingMetadata.js +1 -0
- package/lib/src/interfaces/PlaybackState.d.ts +8 -0
- package/lib/src/interfaces/PlaybackState.js +1 -0
- package/lib/src/interfaces/PlayerOptions.d.ts +132 -0
- package/lib/src/interfaces/PlayerOptions.js +1 -0
- package/lib/src/interfaces/Progress.d.ts +15 -0
- package/lib/src/interfaces/Progress.js +1 -0
- package/lib/src/interfaces/ResourceObject.d.ts +1 -0
- package/lib/src/interfaces/ResourceObject.js +1 -0
- package/lib/src/interfaces/ServiceHandler.d.ts +1 -0
- package/lib/src/interfaces/ServiceHandler.js +1 -0
- package/lib/src/interfaces/Track.d.ts +21 -0
- package/lib/src/interfaces/Track.js +1 -0
- package/lib/src/interfaces/TrackMetadataBase.d.ts +28 -0
- package/lib/src/interfaces/TrackMetadataBase.js +1 -0
- package/lib/src/interfaces/UpdateOptions.d.ts +52 -0
- package/lib/src/interfaces/UpdateOptions.js +1 -0
- package/lib/src/interfaces/events/AudioMetadataReceivedEvent.d.ts +33 -0
- package/lib/src/interfaces/events/AudioMetadataReceivedEvent.js +1 -0
- package/lib/src/interfaces/events/ControllerConnectedEvent.d.ts +8 -0
- package/lib/src/interfaces/events/ControllerConnectedEvent.js +1 -0
- package/lib/src/interfaces/events/EventPayloadByEvent.d.ts +77 -0
- package/lib/src/interfaces/events/EventPayloadByEvent.js +1 -0
- package/lib/src/interfaces/events/FFTUpdateEvent.d.ts +7 -0
- package/lib/src/interfaces/events/FFTUpdateEvent.js +1 -0
- package/lib/src/interfaces/events/PlaybackActiveTrackChangedEvent.d.ts +24 -0
- package/lib/src/interfaces/events/PlaybackActiveTrackChangedEvent.js +1 -0
- package/lib/src/interfaces/events/PlaybackAnimatedVolumeChangedEvent.d.ts +4 -0
- package/lib/src/interfaces/events/PlaybackAnimatedVolumeChangedEvent.js +1 -0
- package/lib/src/interfaces/events/PlaybackErrorEvent.d.ts +6 -0
- package/lib/src/interfaces/events/PlaybackErrorEvent.js +1 -0
- package/lib/src/interfaces/events/PlaybackMetadataReceivedEvent.d.ts +16 -0
- package/lib/src/interfaces/events/PlaybackMetadataReceivedEvent.js +1 -0
- package/lib/src/interfaces/events/PlaybackPlayWhenReadyChangedEvent.d.ts +4 -0
- package/lib/src/interfaces/events/PlaybackPlayWhenReadyChangedEvent.js +1 -0
- package/lib/src/interfaces/events/PlaybackProgressUpdatedEvent.d.ts +4 -0
- package/lib/src/interfaces/events/PlaybackProgressUpdatedEvent.js +1 -0
- package/lib/src/interfaces/events/PlaybackQueueEndedEvent.d.ts +9 -0
- package/lib/src/interfaces/events/PlaybackQueueEndedEvent.js +1 -0
- package/lib/src/interfaces/events/PlaybackResumeEvent.d.ts +3 -0
- package/lib/src/interfaces/events/PlaybackResumeEvent.js +1 -0
- package/lib/src/interfaces/events/PlaybackTrackChangedEvent.d.ts +11 -0
- package/lib/src/interfaces/events/PlaybackTrackChangedEvent.js +1 -0
- package/lib/src/interfaces/events/PlayerErrorEvent.d.ts +6 -0
- package/lib/src/interfaces/events/PlayerErrorEvent.js +1 -0
- package/lib/src/interfaces/events/RemoteBrowseEvent.d.ts +4 -0
- package/lib/src/interfaces/events/RemoteBrowseEvent.js +1 -0
- package/lib/src/interfaces/events/RemoteCustomActionEvent.d.ts +7 -0
- package/lib/src/interfaces/events/RemoteCustomActionEvent.js +1 -0
- package/lib/src/interfaces/events/RemoteDuckEvent.d.ts +13 -0
- package/lib/src/interfaces/events/RemoteDuckEvent.js +1 -0
- package/lib/src/interfaces/events/RemoteJumpBackwardEvent.d.ts +7 -0
- package/lib/src/interfaces/events/RemoteJumpBackwardEvent.js +1 -0
- package/lib/src/interfaces/events/RemoteJumpForwardEvent.d.ts +7 -0
- package/lib/src/interfaces/events/RemoteJumpForwardEvent.js +1 -0
- package/lib/src/interfaces/events/RemotePlayIdEvent.d.ts +4 -0
- package/lib/src/interfaces/events/RemotePlayIdEvent.js +1 -0
- package/lib/src/interfaces/events/RemotePlaySearchEvent.d.ts +9 -0
- package/lib/src/interfaces/events/RemotePlaySearchEvent.js +1 -0
- package/lib/src/interfaces/events/RemoteSearchEvent.d.ts +3 -0
- package/lib/src/interfaces/events/RemoteSearchEvent.js +1 -0
- package/lib/src/interfaces/events/RemoteSeekEvent.d.ts +4 -0
- package/lib/src/interfaces/events/RemoteSeekEvent.js +1 -0
- package/lib/src/interfaces/events/RemoteSetRatingEvent.d.ts +4 -0
- package/lib/src/interfaces/events/RemoteSetRatingEvent.js +1 -0
- package/lib/src/interfaces/events/RemoteSkipEvent.d.ts +3 -0
- package/lib/src/interfaces/events/RemoteSkipEvent.js +1 -0
- package/lib/src/interfaces/events/index.d.ts +20 -0
- package/lib/src/interfaces/events/index.js +20 -0
- package/lib/src/interfaces/index.d.ts +15 -0
- package/lib/src/interfaces/index.js +15 -0
- package/lib/src/resolveAssetSource.d.ts +2 -0
- package/lib/src/resolveAssetSource.js +3 -0
- package/lib/src/resolveAssetSource.web.d.ts +2 -0
- package/lib/src/resolveAssetSource.web.js +8 -0
- package/lib/src/trackPlayer.d.ts +371 -0
- package/lib/src/trackPlayer.js +627 -0
- package/lib/web/TrackPlayer/Player.d.ts +40 -0
- package/lib/web/TrackPlayer/Player.js +188 -0
- package/lib/web/TrackPlayer/PlaylistPlayer.d.ts +31 -0
- package/lib/web/TrackPlayer/PlaylistPlayer.js +181 -0
- package/lib/web/TrackPlayer/RepeatMode.d.ts +5 -0
- package/lib/web/TrackPlayer/RepeatMode.js +6 -0
- package/lib/web/TrackPlayer/SetupNotCalledError.d.ts +3 -0
- package/lib/web/TrackPlayer/SetupNotCalledError.js +5 -0
- package/lib/web/TrackPlayer/index.d.ts +3 -0
- package/lib/web/TrackPlayer/index.js +3 -0
- package/lib/web/TrackPlayerModule.d.ts +63 -0
- package/lib/web/TrackPlayerModule.js +153 -0
- package/lib/web/index.d.ts +3 -0
- package/lib/web/index.js +3 -0
- package/package.json +85 -6
- package/react-native-track-player.podspec +13 -13
- package/specs/NativeTrackPlayer.ts +153 -0
- package/src/TrackPlayerModule.web.ts +2 -0
- package/src/VideoView.tsx +51 -0
- package/src/constants/AndroidAudioContentType.ts +35 -0
- package/src/constants/AndroidAutoContentStyle.ts +10 -0
- package/src/constants/AppKilledPlaybackBehavior.ts +19 -0
- package/src/constants/Capability.ts +19 -0
- package/src/constants/Event.ts +173 -0
- package/src/constants/IOSCategory.ts +36 -0
- package/src/constants/IOSCategoryMode.ts +47 -0
- package/src/constants/IOSCategoryOptions.ts +44 -0
- package/src/constants/MediaItemPlayable.ts +4 -0
- package/src/constants/PitchAlgorithm.ts +16 -0
- package/src/constants/RatingType.ts +10 -0
- package/src/constants/RepeatMode.ts +10 -0
- package/src/constants/State.ts +34 -0
- package/src/constants/TrackType.ts +6 -0
- package/src/constants/index.ts +14 -0
- package/src/hooks/index.ts +6 -0
- package/src/hooks/useActiveTrack.ts +36 -0
- package/src/hooks/useAppIsInBackground.ts +20 -0
- package/src/hooks/useIsPlaying.ts +56 -0
- package/src/hooks/usePlayWhenReady.ts +37 -0
- package/src/hooks/usePlaybackState.ts +45 -0
- package/src/hooks/useProgress.ts +64 -0
- package/src/hooks/useTrackPlayerEvents.ts +48 -0
- package/src/index.ts +8 -0
- package/src/interfaces/AndroidAutoBrowseTree.ts +6 -0
- package/src/interfaces/AndroidOptions.ts +48 -0
- package/src/interfaces/CustomButtons.ts +6 -0
- package/src/interfaces/FeedbackOptions.ts +7 -0
- package/src/interfaces/MediaItem.ts +19 -0
- package/src/interfaces/MetadataOptions.ts +4 -0
- package/src/interfaces/NowPlayingMetadata.ts +5 -0
- package/src/interfaces/PlaybackState.ts +11 -0
- package/src/interfaces/PlayerOptions.ts +138 -0
- package/src/interfaces/Progress.ts +15 -0
- package/src/interfaces/ResourceObject.ts +1 -0
- package/src/interfaces/ServiceHandler.ts +1 -0
- package/src/interfaces/Track.ts +23 -0
- package/src/interfaces/TrackMetadataBase.ts +29 -0
- package/src/interfaces/UpdateOptions.ts +59 -0
- package/src/interfaces/events/AudioMetadataReceivedEvent.ts +37 -0
- package/src/interfaces/events/ControllerConnectedEvent.ts +9 -0
- package/src/interfaces/events/EventPayloadByEvent.ts +80 -0
- package/src/interfaces/events/FFTUpdateEvent.ts +9 -0
- package/src/interfaces/events/PlaybackActiveTrackChangedEvent.ts +29 -0
- package/src/interfaces/events/PlaybackAnimatedVolumeChangedEvent.ts +4 -0
- package/src/interfaces/events/PlaybackErrorEvent.ts +6 -0
- package/src/interfaces/events/PlaybackMetadataReceivedEvent.ts +16 -0
- package/src/interfaces/events/PlaybackPlayWhenReadyChangedEvent.ts +4 -0
- package/src/interfaces/events/PlaybackProgressUpdatedEvent.ts +5 -0
- package/src/interfaces/events/PlaybackQueueEndedEvent.ts +9 -0
- package/src/interfaces/events/PlaybackResumeEvent.ts +5 -0
- package/src/interfaces/events/PlaybackTrackChangedEvent.ts +11 -0
- package/src/interfaces/events/PlayerErrorEvent.ts +6 -0
- package/src/interfaces/events/RemoteBrowseEvent.ts +4 -0
- package/src/interfaces/events/RemoteCustomActionEvent.ts +7 -0
- package/src/interfaces/events/RemoteDuckEvent.ts +13 -0
- package/src/interfaces/events/RemoteJumpBackwardEvent.ts +7 -0
- package/src/interfaces/events/RemoteJumpForwardEvent.ts +7 -0
- package/src/interfaces/events/RemotePlayIdEvent.ts +4 -0
- package/src/interfaces/events/RemotePlaySearchEvent.ts +21 -0
- package/src/interfaces/events/RemoteSearchEvent.ts +3 -0
- package/src/interfaces/events/RemoteSeekEvent.ts +4 -0
- package/src/interfaces/events/RemoteSetRatingEvent.ts +5 -0
- package/src/interfaces/events/RemoteSkipEvent.ts +3 -0
- package/src/interfaces/events/index.ts +20 -0
- package/src/interfaces/index.ts +15 -0
- package/src/resolveAssetSource.ts +3 -0
- package/src/resolveAssetSource.web.ts +10 -0
- package/src/trackPlayer.ts +806 -0
- package/web/TrackPlayer/Player.ts +201 -0
- package/web/TrackPlayer/PlaylistPlayer.ts +215 -0
- package/web/TrackPlayer/RepeatMode.ts +6 -0
- package/web/TrackPlayer/SetupNotCalledError.ts +5 -0
- package/web/TrackPlayer/index.ts +3 -0
- package/web/TrackPlayerModule.ts +181 -0
- package/web/index.ts +4 -0
- package/CHANGELOG.md +0 -75
- package/android/react-native-music-control.iml +0 -139
- package/android/react-native-track-player.iml +0 -151
- package/android/src/main/ic_home-playstore.png +0 -0
- package/android/src/main/ic_repeat-playstore.png +0 -0
- package/android/src/main/ic_repeat_50-playstore.png +0 -0
- package/android/src/main/ic_shuffle-playstore.png +0 -0
- package/android/src/main/ic_shuffle_50-playstore.png +0 -0
- package/android/src/main/ic_shuffle_sm-playstore.png +0 -0
- package/android/src/main/ic_stop-playstore.png +0 -0
- package/android/src/main/ic_test-playstore.png +0 -0
- package/android/src/main/java/com/guichaguri/trackplayer/HeadlessJsMediaService.java +0 -225
- package/android/src/main/java/com/guichaguri/trackplayer/TrackPlayer.kt +0 -25
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/event/NotificationEventHolder.kt +0 -20
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/AAMediaSessionCallback.kt +0 -10
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/AudioItem.kt +0 -66
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/NotificationConfig.kt +0 -43
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/NotificationMetadata.kt +0 -8
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/NotificationState.kt +0 -8
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/PlayerOptions.kt +0 -9
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/models/QueuedPlayerOptions.kt +0 -49
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/notification/NotificationManager.kt +0 -678
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/players/AudioPlayer.kt +0 -10
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/players/BaseAudioPlayer.kt +0 -864
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/players/components/MediaSourceExt.kt +0 -35
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/players/components/PlayerCache.kt +0 -26
- package/android/src/main/java/com/guichaguri/trackplayer/kotlinaudio/utils/Utils.kt +0 -12
- package/android/src/main/java/com/guichaguri/trackplayer/model/Track.kt +0 -120
- package/android/src/main/java/com/guichaguri/trackplayer/model/TrackAudioItem.kt +0 -19
- package/android/src/main/java/com/guichaguri/trackplayer/model/TrackType.kt +0 -11
- package/android/src/main/java/com/guichaguri/trackplayer/module/AutoConnectionDetector.kt +0 -151
- package/android/src/main/java/com/guichaguri/trackplayer/module/MusicModule.kt +0 -1177
- package/android/src/main/java/com/guichaguri/trackplayer/service/MusicBinder.kt +0 -31
- package/android/src/main/java/com/guichaguri/trackplayer/service/MusicManager.kt +0 -347
- package/android/src/main/java/com/guichaguri/trackplayer/service/MusicService.kt +0 -1254
- package/android/src/main/java/com/guichaguri/trackplayer/service/Utils.kt +0 -228
- package/android/src/main/java/com/guichaguri/trackplayer/service/metadata/ButtonEvents.kt +0 -141
- package/android/src/main/java/com/guichaguri/trackplayer/service/metadata/MetadataManager.kt +0 -396
- package/android/src/main/res/drawable-hdpi/ic_forward.png +0 -0
- package/android/src/main/res/drawable-hdpi/ic_home.png +0 -0
- package/android/src/main/res/drawable-hdpi/ic_next.png +0 -0
- package/android/src/main/res/drawable-hdpi/ic_pause.png +0 -0
- package/android/src/main/res/drawable-hdpi/ic_play.png +0 -0
- package/android/src/main/res/drawable-hdpi/ic_previous.png +0 -0
- package/android/src/main/res/drawable-hdpi/ic_rewind.png +0 -0
- package/android/src/main/res/drawable-hdpi/ic_stop.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_forward.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_home.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_next.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_pause.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_play.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_previous.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_rewind.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_stop.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_forward.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_home.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_next.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_pause.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_play.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_previous.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_rewind.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_stop.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_forward.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_home.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_next.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_pause.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_play.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_previous.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_rewind.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_stop.png +0 -0
- package/android/src/main/res/drawable-xxxhdpi/ic_forward.png +0 -0
- package/android/src/main/res/drawable-xxxhdpi/ic_home.png +0 -0
- package/android/src/main/res/drawable-xxxhdpi/ic_next.png +0 -0
- package/android/src/main/res/drawable-xxxhdpi/ic_pause.png +0 -0
- package/android/src/main/res/drawable-xxxhdpi/ic_play.png +0 -0
- package/android/src/main/res/drawable-xxxhdpi/ic_previous.png +0 -0
- package/android/src/main/res/drawable-xxxhdpi/ic_rewind.png +0 -0
- package/android/src/main/res/drawable-xxxhdpi/ic_stop.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_arrow_down_circle_foreground.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_clock_now_foreground.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_close_foreground.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_heart_foreground.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_heart_outlined_foreground.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_repeat_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_repeat_on_foreground.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_shuffle_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_shuffle_on_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_arrow_down_circle_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_clock_now_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_close_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_heart_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_heart_outlined_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_repeat_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_repeat_on_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_shuffle_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_shuffle_on_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_arrow_down_circle_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_clock_now_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_close_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_heart_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_heart_outlined_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_repeat_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_repeat_on_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_shuffle_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_shuffle_on_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_arrow_down_circle_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_clock_now_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_close_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_heart_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_heart_outlined_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_repeat_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_repeat_on_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_shuffle_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_shuffle_on_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_arrow_down_circle_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_clock_now_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_close_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_heart_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_heart_outlined_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_repeat_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_repeat_on_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_shuffle_off_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_shuffle_on_foreground.png +0 -0
- package/android/src/main/res/raw/silent_5_seconds.mp3 +0 -0
- package/android/src/main/res/strings.xml +0 -6
- package/index.d.ts +0 -235
- package/index.js +0 -4
- package/ios/RNTrackPlayer/RNTrackPlayerBridge.h +0 -12
- package/ios/RNTrackPlayer/RNTrackPlayerBridge.m +0 -29
- package/ios/TrackPlayer.xcodeproj/project.pbxproj +0 -495
- package/ios/TrackPlayer.xcodeproj/project.xcworkspace/xcuserdata/marco.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/lib/ProgressComponent.js +0 -70
- package/lib/eventTypes.js +0 -28
- package/lib/hooks.js +0 -160
- package/lib/index.js +0 -178
- /package/ios/{TrackPlayer.xcodeproj → Example/SwiftAudio.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@javascriptcommon/react-native-track-player",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "4.1.4",
|
|
4
4
|
"description": "A fully fledged audio module created for music apps",
|
|
5
|
+
"main": "lib/src/index.js",
|
|
6
|
+
"types": "lib/src/index.d.ts",
|
|
7
|
+
"react-native": "src/index",
|
|
8
|
+
"source": "src/index",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "rimraf lib && tsc",
|
|
11
|
+
"dev": "tsc --watch",
|
|
12
|
+
"lint": "eslint src",
|
|
13
|
+
"format": "prettier --write src",
|
|
14
|
+
"types": "tsc --noEmit true",
|
|
15
|
+
"prepare": "yarn build",
|
|
16
|
+
"example": "yarn --cwd example",
|
|
17
|
+
"pods": "cd example/ios && pod install",
|
|
18
|
+
"bootstrap": "yarn example && yarn && yarn pods",
|
|
19
|
+
"version": "yarn format && git add -A src && yarn changelog && git add CHANGELOG.md",
|
|
20
|
+
"postversion": "if [[ ${npm_package_version} != *'nightly'* ]]; then yarn publish:git && yarn publish:npm; fi",
|
|
21
|
+
"ci:lint": "eslint src --max-warnings=0",
|
|
22
|
+
"ci:format": "prettier --check src",
|
|
23
|
+
"changelog": "conventional-changelog -p angular -s -i CHANGELOG.md -r 1",
|
|
24
|
+
"publish:git": "git push && git push --tags",
|
|
25
|
+
"publish:npm": "yarn prepare && npm publish --access public"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"src",
|
|
29
|
+
"lib/**/*",
|
|
30
|
+
"ios/**/*",
|
|
31
|
+
"android/src/**/*",
|
|
32
|
+
"android/build.gradle",
|
|
33
|
+
"android/proguard-rules.txt",
|
|
34
|
+
"web/**/*",
|
|
35
|
+
"*.podspec",
|
|
36
|
+
"specs"
|
|
37
|
+
],
|
|
5
38
|
"contributors": [
|
|
6
39
|
{
|
|
7
40
|
"name": "David Chavez",
|
|
@@ -12,6 +45,10 @@
|
|
|
12
45
|
"name": "Guilherme Chaguri",
|
|
13
46
|
"email": "guichaguri@gmail.com",
|
|
14
47
|
"url": "http://guichaguri.com"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "Dustin Bahr",
|
|
51
|
+
"email": "dustin@curiousmedia.com"
|
|
15
52
|
}
|
|
16
53
|
],
|
|
17
54
|
"keywords": [
|
|
@@ -37,11 +74,53 @@
|
|
|
37
74
|
"bugs": {
|
|
38
75
|
"url": "https://github.com/doublesymmetry/react-native-track-player/issues"
|
|
39
76
|
},
|
|
40
|
-
"
|
|
41
|
-
"
|
|
77
|
+
"codegenConfig": {
|
|
78
|
+
"name": "NativeTrackPlayerSpec",
|
|
79
|
+
"type": "modules",
|
|
80
|
+
"jsSrcsDir": "specs",
|
|
81
|
+
"android": {
|
|
82
|
+
"javaPackageName": "com.doublesymmetry.trackplayer"
|
|
83
|
+
},
|
|
84
|
+
"ios": {
|
|
85
|
+
"modulesProvider": {
|
|
86
|
+
"TrackPlayer": "NativeTrackPlayer"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
42
89
|
},
|
|
43
90
|
"peerDependencies": {
|
|
44
|
-
"react": "
|
|
45
|
-
"react-native": "
|
|
46
|
-
|
|
91
|
+
"react": "*",
|
|
92
|
+
"react-native": "*",
|
|
93
|
+
"react-native-windows": "*",
|
|
94
|
+
"shaka-player": "^4.7.9"
|
|
95
|
+
},
|
|
96
|
+
"peerDependenciesMeta": {
|
|
97
|
+
"react-native-windows": {
|
|
98
|
+
"optional": true
|
|
99
|
+
},
|
|
100
|
+
"shaka-player": {
|
|
101
|
+
"optional": true
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"devDependencies": {
|
|
105
|
+
"@react-native-community/cli": "20.0.0",
|
|
106
|
+
"@react-native/babel-preset": "0.81.1",
|
|
107
|
+
"@types/react": "^19.1.0",
|
|
108
|
+
"del-cli": "^5.1.0",
|
|
109
|
+
"react": "19.1.0",
|
|
110
|
+
"react-native": "0.81.1",
|
|
111
|
+
"shaka-player": "^4.15.4",
|
|
112
|
+
"typescript": "^5.8.3"
|
|
113
|
+
},
|
|
114
|
+
"funding": "https://github.com/doublesymmetry/react-native-track-player?sponsor=1",
|
|
115
|
+
"config": {
|
|
116
|
+
"commitizen": {
|
|
117
|
+
"path": "cz-conventional-changelog"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"tea": {
|
|
121
|
+
"dependencies": {
|
|
122
|
+
"classic.yarnpkg.com": "^1"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447"
|
|
47
126
|
}
|
|
@@ -3,20 +3,20 @@ require "json"
|
|
|
3
3
|
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
4
|
|
|
5
5
|
Pod::Spec.new do |s|
|
|
6
|
-
s.name
|
|
7
|
-
s.version
|
|
8
|
-
s.summary
|
|
9
|
-
s.license
|
|
6
|
+
s.name = package["name"]
|
|
7
|
+
s.version = package["version"]
|
|
8
|
+
s.summary = package["description"]
|
|
9
|
+
s.license = package["license"]
|
|
10
10
|
|
|
11
|
-
s.author
|
|
12
|
-
s.homepage
|
|
13
|
-
s.platform
|
|
11
|
+
s.author = "David Chavez"
|
|
12
|
+
s.homepage = package["repository"]["url"]
|
|
13
|
+
s.platform = :ios, "11.0"
|
|
14
14
|
|
|
15
|
-
s.
|
|
16
|
-
s.
|
|
15
|
+
s.source = { :git => package["repository"]["url"], :tag => "v#{s.version}" }
|
|
16
|
+
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
17
|
+
s.exclude_files = [ 'ios/Example', 'ios/SwiftAudioEx/Package.swift' ]
|
|
17
18
|
|
|
18
|
-
s.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
s.dependency "React-Core"
|
|
19
|
+
s.swift_version = "4.2"
|
|
20
|
+
|
|
21
|
+
install_modules_dependencies(s)
|
|
22
22
|
end
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
3
|
+
import { type UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
4
|
+
|
|
5
|
+
export interface Spec extends TurboModule {
|
|
6
|
+
// init and config
|
|
7
|
+
setupPlayer(options: UnsafeObject, background: boolean): Promise<void>;
|
|
8
|
+
updateOptions(options: UnsafeObject): Promise<void>;
|
|
9
|
+
|
|
10
|
+
// player api
|
|
11
|
+
load(track: UnsafeObject): Promise<number | void>;
|
|
12
|
+
reset(): Promise<void>;
|
|
13
|
+
play(): Promise<void>;
|
|
14
|
+
pause(): Promise<void>;
|
|
15
|
+
stop(): Promise<void>;
|
|
16
|
+
setPlayWhenReady(playWhenReady: boolean): Promise<boolean>;
|
|
17
|
+
getPlayWhenReady(): Promise<boolean>;
|
|
18
|
+
seekTo(position: number): Promise<void>;
|
|
19
|
+
seekBy(offset: number): Promise<void>;
|
|
20
|
+
setVolume(level: number): Promise<void>;
|
|
21
|
+
getVolume(): Promise<number>;
|
|
22
|
+
setRate(rate: number): Promise<void>;
|
|
23
|
+
getRate(): Promise<number>;
|
|
24
|
+
getProgress(): Promise<UnsafeObject>;
|
|
25
|
+
getPlaybackState(): Promise<UnsafeObject>;
|
|
26
|
+
retry(): Promise<void>;
|
|
27
|
+
|
|
28
|
+
// playlist management
|
|
29
|
+
add(
|
|
30
|
+
tracks: UnsafeObject[],
|
|
31
|
+
insertBeforeIndex: number,
|
|
32
|
+
): Promise<number | void>;
|
|
33
|
+
move(fromIndex: number, toIndex: number): Promise<void>;
|
|
34
|
+
remove(indexes: number[]): Promise<void>;
|
|
35
|
+
removeUpcomingTracks(): Promise<void>;
|
|
36
|
+
skip(index: number, initialPosition: number): Promise<void>;
|
|
37
|
+
skipToNext(initialPosition: number): Promise<void>;
|
|
38
|
+
skipToPrevious(initialPosition: number): Promise<void>;
|
|
39
|
+
updateMetadataForTrack(
|
|
40
|
+
trackIndex: number,
|
|
41
|
+
metadata: UnsafeObject,
|
|
42
|
+
): Promise<void>;
|
|
43
|
+
updateNowPlayingMetadata(metadata: UnsafeObject): Promise<void>;
|
|
44
|
+
setQueue(tracks: UnsafeObject[]): Promise<void>;
|
|
45
|
+
getQueue(): Promise<UnsafeObject[]>;
|
|
46
|
+
setRepeatMode(mode: number): Promise<number>;
|
|
47
|
+
getRepeatMode(): Promise<number>;
|
|
48
|
+
getTrack(index: number): Promise<UnsafeObject | undefined>;
|
|
49
|
+
getActiveTrackIndex(): Promise<number | undefined>;
|
|
50
|
+
getActiveTrack(): Promise<UnsafeObject | undefined>;
|
|
51
|
+
setBrowseTree(browseTree: UnsafeObject): Promise<string>;
|
|
52
|
+
setPlaybackState(mediaID: string): Promise<void>;
|
|
53
|
+
setBrowseTreeStyle(
|
|
54
|
+
browsableStyle: number,
|
|
55
|
+
playableStyle: number,
|
|
56
|
+
): Promise<void>;
|
|
57
|
+
setSearchResults(searchResults: UnsafeObject[]): Promise<void>;
|
|
58
|
+
crossFadePrepare(previous: boolean, seekTo?: number): Promise<void>;
|
|
59
|
+
switchExoPlayer(
|
|
60
|
+
fadeDuration: number,
|
|
61
|
+
fadeInterval: number,
|
|
62
|
+
fadeToVolume: number,
|
|
63
|
+
waitUntil?: number,
|
|
64
|
+
): Promise<void>;
|
|
65
|
+
getLastConnectedPackage(): Promise<string | undefined>;
|
|
66
|
+
setLoudnessEnhance(gain: number): Promise<void>;
|
|
67
|
+
setEqualizerPreset(preset: number): Promise<void>;
|
|
68
|
+
getCurrentEqualizerPreset(): Promise<number>;
|
|
69
|
+
getEqualizerPresets(): Promise<string[]>;
|
|
70
|
+
|
|
71
|
+
// event listeners
|
|
72
|
+
addListener(eventName: string): void;
|
|
73
|
+
removeListeners(count: number): void;
|
|
74
|
+
|
|
75
|
+
// constants
|
|
76
|
+
getConstants: () => {
|
|
77
|
+
CAPABILITY_PLAY: number;
|
|
78
|
+
CAPABILITY_PLAY_FROM_ID: number;
|
|
79
|
+
CAPABILITY_PLAY_FROM_SEARCH: number;
|
|
80
|
+
CAPABILITY_PAUSE: number;
|
|
81
|
+
CAPABILITY_STOP: number;
|
|
82
|
+
CAPABILITY_SEEK_TO: number;
|
|
83
|
+
CAPABILITY_SKIP: number;
|
|
84
|
+
CAPABILITY_SKIP_TO_NEXT: number;
|
|
85
|
+
CAPABILITY_SKIP_TO_PREVIOUS: number;
|
|
86
|
+
CAPABILITY_SET_RATING: number;
|
|
87
|
+
CAPABILITY_JUMP_FORWARD: number;
|
|
88
|
+
CAPABILITY_JUMP_BACKWARD: number;
|
|
89
|
+
CAPABILITY_LIKE: number;
|
|
90
|
+
CAPABILITY_DISLIKE: number;
|
|
91
|
+
CAPABILITY_BOOKMARK: number;
|
|
92
|
+
|
|
93
|
+
// States
|
|
94
|
+
STATE_NONE: string;
|
|
95
|
+
STATE_READY: string;
|
|
96
|
+
STATE_PLAYING: string;
|
|
97
|
+
STATE_PAUSED: string;
|
|
98
|
+
STATE_STOPPED: string;
|
|
99
|
+
STATE_BUFFERING: string;
|
|
100
|
+
STATE_LOADING: string;
|
|
101
|
+
|
|
102
|
+
// Rating Types
|
|
103
|
+
RATING_HEART: number;
|
|
104
|
+
RATING_THUMBS_UP_DOWN: number;
|
|
105
|
+
RATING_3_STARS: number;
|
|
106
|
+
RATING_4_STARS: number;
|
|
107
|
+
RATING_5_STARS: number;
|
|
108
|
+
RATING_PERCENTAGE: number;
|
|
109
|
+
|
|
110
|
+
// Repeat Modes
|
|
111
|
+
REPEAT_OFF: number;
|
|
112
|
+
REPEAT_TRACK: number;
|
|
113
|
+
REPEAT_QUEUE: number;
|
|
114
|
+
|
|
115
|
+
PITCH_ALGORITHM_LINEAR: number;
|
|
116
|
+
PITCH_ALGORITHM_MUSIC: number;
|
|
117
|
+
PITCH_ALGORITHM_VOICE: number;
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
// android methods
|
|
121
|
+
|
|
122
|
+
acquireWakeLock(): Promise<void>;
|
|
123
|
+
abandonWakeLock(): Promise<void>;
|
|
124
|
+
setAnimatedVolume(
|
|
125
|
+
volume: number,
|
|
126
|
+
duration: number,
|
|
127
|
+
interval: number,
|
|
128
|
+
msg: string,
|
|
129
|
+
): Promise<void>;
|
|
130
|
+
fadeOutPause(duration: number, interval: number): Promise<void>;
|
|
131
|
+
fadeOutNext(
|
|
132
|
+
duration: number,
|
|
133
|
+
interval: number,
|
|
134
|
+
toVolume: number,
|
|
135
|
+
): Promise<void>;
|
|
136
|
+
fadeOutPrevious(
|
|
137
|
+
duration: number,
|
|
138
|
+
interval: number,
|
|
139
|
+
toVolume: number,
|
|
140
|
+
): Promise<void>;
|
|
141
|
+
fadeOutJump(
|
|
142
|
+
index: number,
|
|
143
|
+
duration: number,
|
|
144
|
+
interval: number,
|
|
145
|
+
toVolume: number,
|
|
146
|
+
): Promise<void>;
|
|
147
|
+
setPitch(pitch: number): Promise<void>;
|
|
148
|
+
getPitch(): Promise<number>;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
const module = TurboModuleRegistry.getEnforcing<Spec>('TrackPlayer');
|
|
152
|
+
export const Constants = module?.getConstants();
|
|
153
|
+
export default module;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
StyleProp,
|
|
4
|
+
ViewStyle,
|
|
5
|
+
requireNativeComponent,
|
|
6
|
+
Platform,
|
|
7
|
+
} from 'react-native';
|
|
8
|
+
|
|
9
|
+
interface VideoViewProps {
|
|
10
|
+
/**
|
|
11
|
+
* Style object that will be applied to the underlying native video view.
|
|
12
|
+
*/
|
|
13
|
+
style?: StyleProp<ViewStyle>;
|
|
14
|
+
/**
|
|
15
|
+
* How the video should be resized to fit its container. On iOS this maps to
|
|
16
|
+
* AVLayerVideoGravity, on Android to ExoPlayer's resize mode.
|
|
17
|
+
* Defaults to "contain" (AspectFit).
|
|
18
|
+
*/
|
|
19
|
+
resizeMode?: 'contain' | 'cover' | 'stretch' | 'none';
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* VideoView is a convenience component that synchronises a <Video> component
|
|
24
|
+
* with the currently playing track from react-native-track-player.
|
|
25
|
+
*
|
|
26
|
+
* It will automatically:
|
|
27
|
+
* 1. Render nothing when the current track does not expose a video source.
|
|
28
|
+
* 2. Pause/resume playback based on TrackPlayer's playback state.
|
|
29
|
+
*
|
|
30
|
+
* This makes it trivial to embed alongside your existing audio UI:
|
|
31
|
+
*
|
|
32
|
+
* ```tsx
|
|
33
|
+
* <VideoView style={{ width: 300, height: 200 }} />
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
const NativeVideoView = requireNativeComponent<VideoViewProps>(
|
|
37
|
+
Platform.select({
|
|
38
|
+
ios: 'RNTrackPlayerVideoView',
|
|
39
|
+
android: 'RNTrackPlayerVideoView',
|
|
40
|
+
default: 'RNTrackPlayerVideoView',
|
|
41
|
+
}) as string
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
export const VideoView: React.FC<VideoViewProps> = ({
|
|
45
|
+
style,
|
|
46
|
+
resizeMode = 'contain',
|
|
47
|
+
}: VideoViewProps) => {
|
|
48
|
+
return <NativeVideoView style={style} resizeMode={resizeMode} />;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export default VideoView;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export 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,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Define how the audio playback should behave to removing the app from recents (killing it). Default is `ContinuePlayback`.
|
|
3
|
+
*/
|
|
4
|
+
export 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
|
+
/**
|
|
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
|
+
PausePlayback = 'pause-playback',
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 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.
|
|
17
|
+
*/
|
|
18
|
+
StopPlaybackAndRemoveNotification = 'stop-playback-and-remove-notification',
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {Constants as TrackPlayer} from '../../specs/NativeTrackPlayer';
|
|
2
|
+
|
|
3
|
+
export enum Capability {
|
|
4
|
+
Play = TrackPlayer.CAPABILITY_PLAY,
|
|
5
|
+
PlayFromId = TrackPlayer.CAPABILITY_PLAY_FROM_ID,
|
|
6
|
+
PlayFromSearch = TrackPlayer.CAPABILITY_PLAY_FROM_SEARCH,
|
|
7
|
+
Pause = TrackPlayer.CAPABILITY_PAUSE,
|
|
8
|
+
Stop = TrackPlayer.CAPABILITY_STOP,
|
|
9
|
+
SeekTo = TrackPlayer.CAPABILITY_SEEK_TO,
|
|
10
|
+
Skip = TrackPlayer.CAPABILITY_SKIP,
|
|
11
|
+
SkipToNext = TrackPlayer.CAPABILITY_SKIP_TO_NEXT,
|
|
12
|
+
SkipToPrevious = TrackPlayer.CAPABILITY_SKIP_TO_PREVIOUS,
|
|
13
|
+
JumpForward = TrackPlayer.CAPABILITY_JUMP_FORWARD,
|
|
14
|
+
JumpBackward = TrackPlayer.CAPABILITY_JUMP_BACKWARD,
|
|
15
|
+
SetRating = TrackPlayer.CAPABILITY_SET_RATING,
|
|
16
|
+
Like = TrackPlayer.CAPABILITY_LIKE,
|
|
17
|
+
Dislike = TrackPlayer.CAPABILITY_DISLIKE,
|
|
18
|
+
Bookmark = TrackPlayer.CAPABILITY_BOOKMARK,
|
|
19
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
export enum Event {
|
|
2
|
+
PlayerError = 'player-error',
|
|
3
|
+
|
|
4
|
+
/** Fired when the state of the player changes. */
|
|
5
|
+
PlaybackState = 'playback-state',
|
|
6
|
+
/** Fired when a playback error occurs. */
|
|
7
|
+
PlaybackError = 'playback-error',
|
|
8
|
+
/** (Android Only) Fired when animated volume completed changing. */
|
|
9
|
+
PlaybackAnimatedVolumeChanged = 'playback-animated-volume-changed',
|
|
10
|
+
/** Fired after playback has paused due to the queue having reached the end. */
|
|
11
|
+
PlaybackQueueEnded = 'playback-queue-ended',
|
|
12
|
+
/**
|
|
13
|
+
* Fired when another track has become active or when there no longer is an
|
|
14
|
+
* active track.
|
|
15
|
+
*
|
|
16
|
+
* @deprecated use `playback-active-track-changed` instead.
|
|
17
|
+
**/
|
|
18
|
+
PlaybackTrackChanged = 'playback-track-changed',
|
|
19
|
+
/**
|
|
20
|
+
* Fired when another track has become active or when there no longer is an
|
|
21
|
+
* active track.
|
|
22
|
+
**/
|
|
23
|
+
PlaybackActiveTrackChanged = 'playback-active-track-changed',
|
|
24
|
+
/**
|
|
25
|
+
* Fired when the current track receives metadata encoded in. (e.g. ID3 tags,
|
|
26
|
+
* Icy Metadata, Vorbis Comments or QuickTime metadata).
|
|
27
|
+
* @deprecated use `AudioChapterMetadataReceived, AudioTimedMetadataReceived, AudioCommonMetadataReceived` instead.
|
|
28
|
+
**/
|
|
29
|
+
PlaybackMetadataReceived = 'playback-metadata-received',
|
|
30
|
+
/**
|
|
31
|
+
* Fired when playback play when ready has changed.
|
|
32
|
+
**/
|
|
33
|
+
PlaybackPlayWhenReadyChanged = 'playback-play-when-ready-changed',
|
|
34
|
+
/**
|
|
35
|
+
* Fired when playback progress has been updated.
|
|
36
|
+
* See https://rntp.dev/docs/api/events#playbackprogressupdated
|
|
37
|
+
**/
|
|
38
|
+
PlaybackProgressUpdated = 'playback-progress-updated',
|
|
39
|
+
/**
|
|
40
|
+
* Android media3 playback resumption. most likely require a
|
|
41
|
+
* headless setup.
|
|
42
|
+
*/
|
|
43
|
+
PlaybackResume = 'playback-resume-android',
|
|
44
|
+
/**
|
|
45
|
+
* Fired when the user presses the play button.
|
|
46
|
+
* See https://rntp.dev/docs/api/events#remoteplay
|
|
47
|
+
**/
|
|
48
|
+
RemotePlay = 'remote-play',
|
|
49
|
+
/**
|
|
50
|
+
* Fired when the user presses the play/pause button.
|
|
51
|
+
**/
|
|
52
|
+
RemotePlayPause = 'remote-play-pause',
|
|
53
|
+
/**
|
|
54
|
+
* Fired when the user presses the pause button.
|
|
55
|
+
* See https://rntp.dev/docs/api/events#remotepause
|
|
56
|
+
**/
|
|
57
|
+
RemotePause = 'remote-pause',
|
|
58
|
+
/**
|
|
59
|
+
* Fired when the user presses the stop button.
|
|
60
|
+
* See https://rntp.dev/docs/api/events#remotestop
|
|
61
|
+
**/
|
|
62
|
+
RemoteStop = 'remote-stop',
|
|
63
|
+
/**
|
|
64
|
+
* Fired when the user presses the next track button.
|
|
65
|
+
* See https://rntp.dev/docs/api/events#remotenext
|
|
66
|
+
**/
|
|
67
|
+
RemoteNext = 'remote-next',
|
|
68
|
+
/**
|
|
69
|
+
* Fired when the user presses the previous track button.
|
|
70
|
+
* See https://rntp.dev/docs/api/events#remoteprevious
|
|
71
|
+
**/
|
|
72
|
+
RemotePrevious = 'remote-previous',
|
|
73
|
+
/**
|
|
74
|
+
* Fired when the user presses the jump forward button.
|
|
75
|
+
* See https://rntp.dev/docs/api/events#remotejumpforward
|
|
76
|
+
**/
|
|
77
|
+
RemoteJumpForward = 'remote-jump-forward',
|
|
78
|
+
/**
|
|
79
|
+
* Fired when the user presses the jump backward button.
|
|
80
|
+
* See https://rntp.dev/docs/api/events#remotejumpbackward
|
|
81
|
+
**/
|
|
82
|
+
RemoteJumpBackward = 'remote-jump-backward',
|
|
83
|
+
/**
|
|
84
|
+
* Fired when the user changes the position of the timeline.
|
|
85
|
+
* See https://rntp.dev/docs/api/events#remoteseek
|
|
86
|
+
**/
|
|
87
|
+
RemoteSeek = 'remote-seek',
|
|
88
|
+
/**
|
|
89
|
+
* Fired when the user changes the rating for the track remotely.
|
|
90
|
+
* See https://rntp.dev/docs/api/events#remotesetrating
|
|
91
|
+
**/
|
|
92
|
+
RemoteSetRating = 'remote-set-rating',
|
|
93
|
+
/**
|
|
94
|
+
* Fired when the app needs to handle an audio interruption.
|
|
95
|
+
* See https://rntp.dev/docs/api/events#remoteduck
|
|
96
|
+
**/
|
|
97
|
+
RemoteDuck = 'remote-duck',
|
|
98
|
+
/**
|
|
99
|
+
* (iOS only) Fired when the user presses the like button in the now playing
|
|
100
|
+
* center.
|
|
101
|
+
* See https://rntp.dev/docs/api/events#remotelike-ios-only
|
|
102
|
+
**/
|
|
103
|
+
RemoteLike = 'remote-like',
|
|
104
|
+
/**
|
|
105
|
+
* (iOS only) Fired when the user presses the dislike button in the now playing
|
|
106
|
+
* center.
|
|
107
|
+
* See https://rntp.dev/docs/api/events#remotedislike-ios-only
|
|
108
|
+
**/
|
|
109
|
+
RemoteDislike = 'remote-dislike',
|
|
110
|
+
/** (iOS only) Fired when the user presses the bookmark button in the now
|
|
111
|
+
* playing center.
|
|
112
|
+
* See https://rntp.dev/docs/api/events#remotebookmark-ios-only
|
|
113
|
+
**/
|
|
114
|
+
RemoteBookmark = 'remote-bookmark',
|
|
115
|
+
/**
|
|
116
|
+
* (Android only) Fired when the user selects a track from an external device.
|
|
117
|
+
* See https://rntp.dev/docs/api/events#remoteplayid
|
|
118
|
+
**/
|
|
119
|
+
RemotePlayId = 'remote-play-id',
|
|
120
|
+
/**
|
|
121
|
+
* (Android only) Fired when the user searches for a track (usually voice search).
|
|
122
|
+
* See https://rntp.dev/docs/api/events#remoteplaysearch
|
|
123
|
+
**/
|
|
124
|
+
RemotePlaySearch = 'remote-play-search',
|
|
125
|
+
/**
|
|
126
|
+
* (Android only) Fired when the user searches for content.
|
|
127
|
+
* See https://rntp.dev/docs/api/events#remotesearch
|
|
128
|
+
**/
|
|
129
|
+
RemoteSearch = 'remote-search',
|
|
130
|
+
/**
|
|
131
|
+
* (Android only) Fired when the user presses the skip button.
|
|
132
|
+
* See https://rntp.dev/docs/api/events#remoteskip
|
|
133
|
+
**/
|
|
134
|
+
RemoteSkip = 'remote-skip',
|
|
135
|
+
/**
|
|
136
|
+
* (Android only) Fired when the user enters a browsable children in android auto.
|
|
137
|
+
* See https://rntp.dev/docs/api/events#remoteBrowse
|
|
138
|
+
**/
|
|
139
|
+
RemoteBrowse = 'remote-browse',
|
|
140
|
+
/**
|
|
141
|
+
* (Android only) Fired when a custom action button is pressed.
|
|
142
|
+
* See https://rntp.dev/docs/api/events#remoteCustomAction
|
|
143
|
+
**/
|
|
144
|
+
RemoteCustomAction = 'remote-custom-action',
|
|
145
|
+
/** (iOS only) Fired when chapter metadata is received.
|
|
146
|
+
* See https://rntp.dev/docs/api/events#chaptermetadatareceived
|
|
147
|
+
**/
|
|
148
|
+
MetadataChapterReceived = 'metadata-chapter-received',
|
|
149
|
+
/**
|
|
150
|
+
* Fired when metadata is received at a specific time in the audio.
|
|
151
|
+
* See https://rntp.dev/docs/api/events#timedmetadatareceived
|
|
152
|
+
**/
|
|
153
|
+
MetadataTimedReceived = 'metadata-timed-received',
|
|
154
|
+
/**
|
|
155
|
+
* Fired when common (static) metadata is received.
|
|
156
|
+
* See https://rntp.dev/docs/api/events#commonmetadatareceived
|
|
157
|
+
**/
|
|
158
|
+
MetadataCommonReceived = 'metadata-common-received',
|
|
159
|
+
/**
|
|
160
|
+
* Fired when an android connector connects to MusicService.
|
|
161
|
+
* typical controllers are media notification and Android Auto.
|
|
162
|
+
**/
|
|
163
|
+
connectorConnected = 'android-controller-connected',
|
|
164
|
+
/**
|
|
165
|
+
* Fired when an android connector connects to MusicService.
|
|
166
|
+
* typical controllers are media notification and Android Auto.
|
|
167
|
+
**/
|
|
168
|
+
connectorDisconnected = 'android-controller-disconnected',
|
|
169
|
+
/**
|
|
170
|
+
* Fired when there is an fft update
|
|
171
|
+
**/
|
|
172
|
+
fftUpdate = 'fft-updated',
|
|
173
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export enum IOSCategory {
|
|
2
|
+
/**
|
|
3
|
+
* The category for playing recorded music or other sounds that are central
|
|
4
|
+
* to the successful use of your app.
|
|
5
|
+
* See https://developer.apple.com/documentation/avfaudio/avaudiosession/category/1616509-playback
|
|
6
|
+
**/
|
|
7
|
+
Playback = 'playback',
|
|
8
|
+
/**
|
|
9
|
+
* The category for recording (input) and playback (output) of audio, such as
|
|
10
|
+
* for a Voice over Internet Protocol (VoIP) app.
|
|
11
|
+
* See https://developer.apple.com/documentation/avfaudio/avaudiosession/category/1616568-playandrecord
|
|
12
|
+
**/
|
|
13
|
+
PlayAndRecord = 'playAndRecord',
|
|
14
|
+
/**
|
|
15
|
+
* The category for routing distinct streams of audio data to different
|
|
16
|
+
* output devices at the same time.
|
|
17
|
+
* See https://developer.apple.com/documentation/avfaudio/avaudiosession/category/1616484-multiroute
|
|
18
|
+
**/
|
|
19
|
+
MultiRoute = 'multiRoute',
|
|
20
|
+
/**
|
|
21
|
+
* The category for an app in which sound playback is nonprimary — that is,
|
|
22
|
+
* your app also works with the sound turned off.
|
|
23
|
+
* See https://developer.apple.com/documentation/avfaudio/avaudiosession/category/1616560-ambient
|
|
24
|
+
**/
|
|
25
|
+
Ambient = 'ambient',
|
|
26
|
+
/**
|
|
27
|
+
* The default audio session category.
|
|
28
|
+
* See https://developer.apple.com/documentation/avfaudio/avaudiosession/category/1616488-soloambient
|
|
29
|
+
**/
|
|
30
|
+
SoloAmbient = 'soloAmbient',
|
|
31
|
+
/**
|
|
32
|
+
* The category for recording audio while also silencing playback audio.
|
|
33
|
+
* See https://developer.apple.com/documentation/avfaudio/avaudiosession/category/1616451-record
|
|
34
|
+
**/
|
|
35
|
+
Record = 'record',
|
|
36
|
+
}
|