expo-audio 58.0.7 → 58.0.8
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/CHANGELOG.md +6 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/audio/AudioModule.kt +26 -23
- package/android/src/main/java/expo/modules/audio/AudioPlayer.kt +2 -2
- package/android/src/main/java/expo/modules/audio/AudioPlaylist.kt +2 -2
- package/android/src/main/java/expo/modules/audio/AudioUtils.kt +5 -2
- package/android/src/main/java/expo/modules/audio/BaseAudioPlayer.kt +1 -0
- package/android/src/main/java/expo/modules/audio/PlayRequestingPlayer.kt +24 -0
- package/android/src/main/java/expo/modules/audio/Playable.kt +9 -0
- package/android/src/main/java/expo/modules/audio/service/AudioControlsService.kt +9 -6
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8-sources.jar +0 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8-sources.jar.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8-sources.jar.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8-sources.jar.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8-sources.jar.sha512 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.aar +0 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.aar.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.aar.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.aar.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.aar.sha512 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/{58.0.7/expo.modules.audio-58.0.7.module → 58.0.8/expo.modules.audio-58.0.8.module} +22 -22
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.module.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/{58.0.7/expo.modules.audio-58.0.7.pom → 58.0.8/expo.modules.audio-58.0.8.pom} +1 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.pom.sha512 +1 -0
- package/package.json +5 -5
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7-sources.jar +0 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7-sources.jar.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7-sources.jar.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7-sources.jar.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7-sources.jar.sha512 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.aar +0 -0
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.aar.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.aar.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.aar.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.aar.sha512 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.module.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.pom.sha512 +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 58.0.8
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [Android] Request audio focus when playback is started from the notification, the lock screen or a media button, so it pauses for an incoming call like playback started from JS. ([#50745](https://github.com/expo/expo/pull/50745) by [@enavermate](https://github.com/enavermate))
|
|
8
|
+
|
|
3
9
|
## 58.0.7
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/android/build.gradle
CHANGED
|
@@ -4,13 +4,13 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
group = 'expo.modules.audio'
|
|
7
|
-
version = '58.0.
|
|
7
|
+
version = '58.0.8'
|
|
8
8
|
|
|
9
9
|
android {
|
|
10
10
|
namespace "expo.modules.audio"
|
|
11
11
|
defaultConfig {
|
|
12
12
|
versionCode 1
|
|
13
|
-
versionName "58.0.
|
|
13
|
+
versionName "58.0.8"
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
compileOptions {
|
|
@@ -294,6 +294,28 @@ class AudioModule : Module() {
|
|
|
294
294
|
focusAcquired = false
|
|
295
295
|
}
|
|
296
296
|
|
|
297
|
+
// Called on the main thread, from JS and from outside it (see `Playable.onPlayRequest`).
|
|
298
|
+
private fun playWithAudioFocus(playable: Playable) {
|
|
299
|
+
if (!audioEnabled) {
|
|
300
|
+
Log.e(TAG, "Audio has been disabled. Re-enable to start playing")
|
|
301
|
+
return
|
|
302
|
+
}
|
|
303
|
+
if (!shouldPlayInSilentMode()) {
|
|
304
|
+
return
|
|
305
|
+
}
|
|
306
|
+
val focusResult = requestAudioFocus()
|
|
307
|
+
if (focusResult == AudioFocusResult.FAILED) {
|
|
308
|
+
return
|
|
309
|
+
}
|
|
310
|
+
(playable as? AudioPlayer)?.let { registerAudioSessionActivityKeeper(it) }
|
|
311
|
+
if (focusResult == AudioFocusResult.DELAYED) {
|
|
312
|
+
// The AUDIOFOCUS_GAIN branch starts it once the system grants focus.
|
|
313
|
+
playable.isPaused = true
|
|
314
|
+
return
|
|
315
|
+
}
|
|
316
|
+
playable.play()
|
|
317
|
+
}
|
|
318
|
+
|
|
297
319
|
private fun registerAudioSessionActivityKeeper(player: AudioPlayer) {
|
|
298
320
|
if (player.keepAudioSessionActive) {
|
|
299
321
|
audioSessionActivityKeepers.add(player.id)
|
|
@@ -545,6 +567,7 @@ class AudioModule : Module() {
|
|
|
545
567
|
releaseAudioFocusIfUnused()
|
|
546
568
|
}
|
|
547
569
|
}
|
|
570
|
+
player.onPlayRequest = { playWithAudioFocus(player) }
|
|
548
571
|
players[player.id] = player
|
|
549
572
|
player
|
|
550
573
|
}
|
|
@@ -649,19 +672,8 @@ class AudioModule : Module() {
|
|
|
649
672
|
}
|
|
650
673
|
|
|
651
674
|
Function("play") { player: AudioPlayer ->
|
|
652
|
-
if (!audioEnabled) {
|
|
653
|
-
Log.e(TAG, "Audio has been disabled. Re-enable to start playing")
|
|
654
|
-
return@Function
|
|
655
|
-
}
|
|
656
|
-
if (!shouldPlayInSilentMode()) {
|
|
657
|
-
return@Function
|
|
658
|
-
}
|
|
659
675
|
runOnMain {
|
|
660
|
-
|
|
661
|
-
return@runOnMain
|
|
662
|
-
}
|
|
663
|
-
registerAudioSessionActivityKeeper(player)
|
|
664
|
-
player.ref.play()
|
|
676
|
+
playWithAudioFocus(player)
|
|
665
677
|
}
|
|
666
678
|
}
|
|
667
679
|
|
|
@@ -913,6 +925,7 @@ class AudioModule : Module() {
|
|
|
913
925
|
releaseAudioFocusIfUnused()
|
|
914
926
|
}
|
|
915
927
|
}
|
|
928
|
+
playlist.onPlayRequest = { playWithAudioFocus(playlist) }
|
|
916
929
|
playlists[playlist.id] = playlist
|
|
917
930
|
playlist
|
|
918
931
|
}
|
|
@@ -1015,18 +1028,8 @@ class AudioModule : Module() {
|
|
|
1015
1028
|
}
|
|
1016
1029
|
|
|
1017
1030
|
Function("play") { playlist: AudioPlaylist ->
|
|
1018
|
-
if (!audioEnabled) {
|
|
1019
|
-
Log.e(TAG, "Audio has been disabled. Re-enable to start playing")
|
|
1020
|
-
return@Function
|
|
1021
|
-
}
|
|
1022
|
-
if (!shouldPlayInSilentMode()) {
|
|
1023
|
-
return@Function
|
|
1024
|
-
}
|
|
1025
1031
|
runOnMain {
|
|
1026
|
-
|
|
1027
|
-
return@runOnMain
|
|
1028
|
-
}
|
|
1029
|
-
playlist.ref.play()
|
|
1032
|
+
playWithAudioFocus(playlist)
|
|
1030
1033
|
}
|
|
1031
1034
|
}
|
|
1032
1035
|
|
|
@@ -66,7 +66,7 @@ class AudioPlayer(
|
|
|
66
66
|
override var isActiveForLockScreen = false
|
|
67
67
|
override var metadata: Metadata? = null
|
|
68
68
|
override var lockScreenOptions: AudioLockScreenOptions? = null
|
|
69
|
-
override var mediaSession: MediaSession = buildBasicMediaSession(context, ref)
|
|
69
|
+
override var mediaSession: MediaSession = buildBasicMediaSession(context, ref) { requestPlay() }
|
|
70
70
|
override val serviceConnection = AudioPlaybackServiceConnection(WeakReference(this), appContext)
|
|
71
71
|
|
|
72
72
|
override val isLive: Boolean
|
|
@@ -202,7 +202,7 @@ class AudioPlayer(
|
|
|
202
202
|
|
|
203
203
|
override fun assignBasicMediaSession() {
|
|
204
204
|
mediaSession.release()
|
|
205
|
-
mediaSession = buildBasicMediaSession(context, ref)
|
|
205
|
+
mediaSession = buildBasicMediaSession(context, ref) { requestPlay() }
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
private fun sendAudioSampleUpdate(sample: List<Float>) {
|
|
@@ -43,7 +43,7 @@ class AudioPlaylist(
|
|
|
43
43
|
override var isActiveForLockScreen = false
|
|
44
44
|
override var metadata: Metadata? = null
|
|
45
45
|
override var lockScreenOptions: AudioLockScreenOptions? = null
|
|
46
|
-
override var mediaSession: MediaSession = buildBasicMediaSession(context, ref)
|
|
46
|
+
override var mediaSession: MediaSession = buildBasicMediaSession(context, ref) { requestPlay() }
|
|
47
47
|
override val serviceConnection = AudioPlaybackServiceConnection(WeakReference(this), appContext)
|
|
48
48
|
override val supportsNextTrack = true
|
|
49
49
|
override val supportsPreviousTrack = true
|
|
@@ -198,7 +198,7 @@ class AudioPlaylist(
|
|
|
198
198
|
|
|
199
199
|
override fun assignBasicMediaSession() {
|
|
200
200
|
mediaSession.release()
|
|
201
|
-
mediaSession = buildBasicMediaSession(appContext?.reactContext ?: return, ref)
|
|
201
|
+
mediaSession = buildBasicMediaSession(appContext?.reactContext ?: return, ref) { requestPlay() }
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
override fun currentStatus(): Map<String, Any?> {
|
|
@@ -3,7 +3,9 @@ package expo.modules.audio
|
|
|
3
3
|
import android.content.Context
|
|
4
4
|
import android.media.AudioDeviceInfo
|
|
5
5
|
import android.os.Bundle
|
|
6
|
+
import androidx.annotation.OptIn
|
|
6
7
|
import androidx.media3.common.Player
|
|
8
|
+
import androidx.media3.common.util.UnstableApi
|
|
7
9
|
import androidx.media3.session.MediaSession
|
|
8
10
|
import java.io.File
|
|
9
11
|
import java.io.IOException
|
|
@@ -31,8 +33,9 @@ fun getMapFromDeviceInfo(deviceInfo: AudioDeviceInfo): Bundle {
|
|
|
31
33
|
return map
|
|
32
34
|
}
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
@OptIn(UnstableApi::class)
|
|
37
|
+
fun buildBasicMediaSession(context: Context, player: Player, onPlay: () -> Unit): MediaSession {
|
|
38
|
+
return MediaSession.Builder(context, PlayRequestingPlayer(player, onPlay))
|
|
36
39
|
.setId("ExpoAudioBasicMediaSession_${player.hashCode()}")
|
|
37
40
|
.build()
|
|
38
41
|
}
|
|
@@ -41,6 +41,7 @@ abstract class BaseAudioPlayer(
|
|
|
41
41
|
override var previousVolume = 1f
|
|
42
42
|
override var onPlaybackStateChange: ((Boolean) -> Unit)? = null
|
|
43
43
|
override var onRelease: (() -> Unit)? = null
|
|
44
|
+
override var onPlayRequest: (() -> Unit)? = null
|
|
44
45
|
override val player get() = ref
|
|
45
46
|
|
|
46
47
|
protected var playerScope = CoroutineScope(Dispatchers.Main)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
package expo.modules.audio
|
|
2
|
+
|
|
3
|
+
import androidx.media3.common.ForwardingPlayer
|
|
4
|
+
import androidx.media3.common.Player
|
|
5
|
+
import androidx.media3.common.util.UnstableApi
|
|
6
|
+
|
|
7
|
+
// A media session calls `play()` on its player directly, and a Media3 `MediaController` can also
|
|
8
|
+
// start playback with `setPlayWhenReady(true)`. Routing both to `onPlay` lets playback started from
|
|
9
|
+
// the lock screen, a media button or another app request audio focus, like playback started in JS.
|
|
10
|
+
@UnstableApi
|
|
11
|
+
internal class PlayRequestingPlayer(
|
|
12
|
+
player: Player,
|
|
13
|
+
private val onPlay: () -> Unit
|
|
14
|
+
) : ForwardingPlayer(player) {
|
|
15
|
+
override fun play() = onPlay()
|
|
16
|
+
|
|
17
|
+
override fun setPlayWhenReady(playWhenReady: Boolean) {
|
|
18
|
+
if (playWhenReady) {
|
|
19
|
+
onPlay()
|
|
20
|
+
} else {
|
|
21
|
+
super.setPlayWhenReady(false)
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -17,6 +17,13 @@ interface Playable {
|
|
|
17
17
|
var onPlaybackStateChange: ((Boolean) -> Unit)?
|
|
18
18
|
var onRelease: (() -> Unit)?
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Starts playback through `AudioModule`, which requests audio focus first. Playback started outside
|
|
22
|
+
* JS (the notification, the lock screen, a headset or Bluetooth button) goes through `requestPlay`
|
|
23
|
+
* too, so the player never plays without holding focus.
|
|
24
|
+
*/
|
|
25
|
+
var onPlayRequest: (() -> Unit)?
|
|
26
|
+
|
|
20
27
|
val player: Player
|
|
21
28
|
val appContext: AppContext?
|
|
22
29
|
|
|
@@ -31,6 +38,8 @@ interface Playable {
|
|
|
31
38
|
|
|
32
39
|
fun play() = player.play()
|
|
33
40
|
|
|
41
|
+
fun requestPlay() = onPlayRequest?.invoke() ?: player.play()
|
|
42
|
+
|
|
34
43
|
fun pause() = player.pause()
|
|
35
44
|
|
|
36
45
|
fun seekTo(seconds: Double) = player.seekTo((seconds * 1000L).toLong())
|
|
@@ -26,6 +26,7 @@ import androidx.media3.session.SessionCommand
|
|
|
26
26
|
import expo.modules.audio.AudioLockScreenOptions
|
|
27
27
|
import expo.modules.audio.LockScreenPlayable
|
|
28
28
|
import expo.modules.audio.Metadata
|
|
29
|
+
import expo.modules.audio.PlayRequestingPlayer
|
|
29
30
|
import expo.modules.audio.getPlaybackServiceErrorMessage
|
|
30
31
|
import expo.modules.kotlin.AppContext
|
|
31
32
|
import kotlinx.coroutines.CoroutineScope
|
|
@@ -66,9 +67,10 @@ class AudioControlsService : MediaSessionService() {
|
|
|
66
67
|
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
|
67
68
|
ensureForegroundNotification()
|
|
68
69
|
|
|
69
|
-
val
|
|
70
|
+
val playable = currentPlayable
|
|
71
|
+
val currentPlayer = playable?.player
|
|
70
72
|
val context = appContext
|
|
71
|
-
if (currentPlayer == null || context == null) {
|
|
73
|
+
if (playable == null || currentPlayer == null || context == null) {
|
|
72
74
|
stopForeground(STOP_FOREGROUND_REMOVE)
|
|
73
75
|
return super.onStartCommand(intent, flags, startId)
|
|
74
76
|
}
|
|
@@ -77,7 +79,7 @@ class AudioControlsService : MediaSessionService() {
|
|
|
77
79
|
when (intent?.action) {
|
|
78
80
|
ACTION_PLAY -> {
|
|
79
81
|
if (shouldPlayInSilentMode()) {
|
|
80
|
-
|
|
82
|
+
playable.requestPlay()
|
|
81
83
|
}
|
|
82
84
|
}
|
|
83
85
|
ACTION_PAUSE -> currentPlayer.pause()
|
|
@@ -85,7 +87,7 @@ class AudioControlsService : MediaSessionService() {
|
|
|
85
87
|
if (currentPlayer.isPlaying) {
|
|
86
88
|
currentPlayer.pause()
|
|
87
89
|
} else if (shouldPlayInSilentMode()) {
|
|
88
|
-
|
|
90
|
+
playable.requestPlay()
|
|
89
91
|
}
|
|
90
92
|
|
|
91
93
|
ACTION_SEEK_FORWARD -> seekForward()
|
|
@@ -381,12 +383,13 @@ class AudioControlsService : MediaSessionService() {
|
|
|
381
383
|
}
|
|
382
384
|
|
|
383
385
|
private fun resolveSessionPlayer(playable: LockScreenPlayable, options: AudioLockScreenOptions?): Player {
|
|
386
|
+
val player = PlayRequestingPlayer(playable.player) { playable.requestPlay() }
|
|
384
387
|
val isLive = options?.isLiveStream ?: playable.isLive
|
|
385
388
|
if (!isLive) {
|
|
386
|
-
return
|
|
389
|
+
return player
|
|
387
390
|
}
|
|
388
391
|
|
|
389
|
-
return object : ForwardingPlayer(
|
|
392
|
+
return object : ForwardingPlayer(player) {
|
|
390
393
|
override fun getAvailableCommands(): Player.Commands {
|
|
391
394
|
return super.getAvailableCommands().buildUpon()
|
|
392
395
|
.remove(Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a514205fbda56545f5396a0990b9f4f9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
cbab8824e92895ba7865770ec62e4875325bd42a
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0f11527368066bf18f182fb39f3c1d69696aa59ddaec4b7ee16ec48183e25e23
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ec4911e9008b292a0785c1496a40432c56b611dc2f19ecb0dc71020d4b439fed146d7bb18337a96bf6b77da28cb0fe71e6e8c7bd17b37649e554e4de43fb9d37
|
package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.8/expo.modules.audio-58.0.8.aar
ADDED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
9bd94c9bb03c7d84ae5536946035f450
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
bc24348a398e64ff880dc00571befaff11fcdd7c
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
148a8d932e5afc93e3a3cf4ea35d969d7f3329ac3127cc9da9fea428144321c9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4251e28214a66fe78e625507dc58ff5a7f4547ce00a7ac7fd93171043547fd383168a0fff1936654259ebb916e4ac392770afd96be55a8ec7e7185fac49f7d2f
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.audio",
|
|
5
5
|
"module": "expo.modules.audio",
|
|
6
|
-
"version": "58.0.
|
|
6
|
+
"version": "58.0.8",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
|
-
"name": "expo.modules.audio-58.0.
|
|
28
|
-
"url": "expo.modules.audio-58.0.
|
|
29
|
-
"size":
|
|
30
|
-
"sha512": "
|
|
31
|
-
"sha256": "
|
|
32
|
-
"sha1": "
|
|
33
|
-
"md5": "
|
|
27
|
+
"name": "expo.modules.audio-58.0.8.aar",
|
|
28
|
+
"url": "expo.modules.audio-58.0.8.aar",
|
|
29
|
+
"size": 562788,
|
|
30
|
+
"sha512": "4251e28214a66fe78e625507dc58ff5a7f4547ce00a7ac7fd93171043547fd383168a0fff1936654259ebb916e4ac392770afd96be55a8ec7e7185fac49f7d2f",
|
|
31
|
+
"sha256": "148a8d932e5afc93e3a3cf4ea35d969d7f3329ac3127cc9da9fea428144321c9",
|
|
32
|
+
"sha1": "bc24348a398e64ff880dc00571befaff11fcdd7c",
|
|
33
|
+
"md5": "9bd94c9bb03c7d84ae5536946035f450"
|
|
34
34
|
}
|
|
35
35
|
]
|
|
36
36
|
},
|
|
@@ -137,13 +137,13 @@
|
|
|
137
137
|
],
|
|
138
138
|
"files": [
|
|
139
139
|
{
|
|
140
|
-
"name": "expo.modules.audio-58.0.
|
|
141
|
-
"url": "expo.modules.audio-58.0.
|
|
142
|
-
"size":
|
|
143
|
-
"sha512": "
|
|
144
|
-
"sha256": "
|
|
145
|
-
"sha1": "
|
|
146
|
-
"md5": "
|
|
140
|
+
"name": "expo.modules.audio-58.0.8.aar",
|
|
141
|
+
"url": "expo.modules.audio-58.0.8.aar",
|
|
142
|
+
"size": 562788,
|
|
143
|
+
"sha512": "4251e28214a66fe78e625507dc58ff5a7f4547ce00a7ac7fd93171043547fd383168a0fff1936654259ebb916e4ac392770afd96be55a8ec7e7185fac49f7d2f",
|
|
144
|
+
"sha256": "148a8d932e5afc93e3a3cf4ea35d969d7f3329ac3127cc9da9fea428144321c9",
|
|
145
|
+
"sha1": "bc24348a398e64ff880dc00571befaff11fcdd7c",
|
|
146
|
+
"md5": "9bd94c9bb03c7d84ae5536946035f450"
|
|
147
147
|
}
|
|
148
148
|
]
|
|
149
149
|
},
|
|
@@ -157,13 +157,13 @@
|
|
|
157
157
|
},
|
|
158
158
|
"files": [
|
|
159
159
|
{
|
|
160
|
-
"name": "expo.modules.audio-58.0.
|
|
161
|
-
"url": "expo.modules.audio-58.0.
|
|
162
|
-
"size":
|
|
163
|
-
"sha512": "
|
|
164
|
-
"sha256": "
|
|
165
|
-
"sha1": "
|
|
166
|
-
"md5": "
|
|
160
|
+
"name": "expo.modules.audio-58.0.8-sources.jar",
|
|
161
|
+
"url": "expo.modules.audio-58.0.8-sources.jar",
|
|
162
|
+
"size": 44166,
|
|
163
|
+
"sha512": "ec4911e9008b292a0785c1496a40432c56b611dc2f19ecb0dc71020d4b439fed146d7bb18337a96bf6b77da28cb0fe71e6e8c7bd17b37649e554e4de43fb9d37",
|
|
164
|
+
"sha256": "0f11527368066bf18f182fb39f3c1d69696aa59ddaec4b7ee16ec48183e25e23",
|
|
165
|
+
"sha1": "cbab8824e92895ba7865770ec62e4875325bd42a",
|
|
166
|
+
"md5": "a514205fbda56545f5396a0990b9f4f9"
|
|
167
167
|
}
|
|
168
168
|
]
|
|
169
169
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
378d222cddd7ef903cffd217d2a1950d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
01205ecaca037b0405c6d6771c41ac6c72d3eb41
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
481cc4ef369c80dbd753c3bbea6ea352709701224a2dfb653840c7bded86978b
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
04262d3a0cd6d37995770d7f1f382e83bc506c30914eb5de5471b2e9e4c23b5db707c8f6ae5c468d443198562fe81a1062e46cb85f37dee10b9abf02082343f0
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>expo.modules.audio</groupId>
|
|
11
11
|
<artifactId>expo.modules.audio</artifactId>
|
|
12
|
-
<version>58.0.
|
|
12
|
+
<version>58.0.8</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.audio</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
82a90f5bbfbeca6fe525397dba3f3752
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0a0856248d796b5c3a1ca99943e10d94458c38e2
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
c00be317ef58194377605e45cf90cc515d2fef8a811b1bf7cc4d134126376897
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a193e55608204cef121d078d46d5829cc00e091829035c617c286861573f064e226bd7618e15a5261e62cff48c9b6ee28c0ae8ebf9d0169cd5d6f62a995b50e0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-audio",
|
|
3
|
-
"version": "58.0.
|
|
3
|
+
"version": "58.0.8",
|
|
4
4
|
"description": "A cross-platform audio library for React Native and Expo apps.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"android",
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"main": "build/index.js",
|
|
23
23
|
"types": "build/index.d.ts",
|
|
24
24
|
"devDependencies": {
|
|
25
|
+
"@expo/internal-scripts": "58.0.1",
|
|
25
26
|
"@types/jest": "^30.0.0",
|
|
26
27
|
"@types/node": "^22.14.0",
|
|
27
28
|
"@types/react": "~19.3.0",
|
|
28
|
-
"expo": "58.0.
|
|
29
|
-
"expo-asset": "58.0.13"
|
|
30
|
-
"expo-module-scripts": "56.0.8"
|
|
29
|
+
"expo": "58.0.7",
|
|
30
|
+
"expo-asset": "58.0.13"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"expo": "*",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"react-native": "*"
|
|
37
37
|
},
|
|
38
38
|
"jest": {
|
|
39
|
-
"preset": "expo-
|
|
39
|
+
"preset": "@expo/internal-scripts"
|
|
40
40
|
},
|
|
41
41
|
"title": "Expo Audio",
|
|
42
42
|
"scripts": {
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
83cf708677405e262c8c9b113888d179
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
b025140d2c4d4afec6ff2177e5b11c3a65cf32b8
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4a9c9fa744bae7346ceae6c312ed030bb16584e9d1e66473ebb84219a7ca3875
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
e7dd160ec6dde30682c7e7001d944f703baa815825c685bc098757fa3f7a2a05db2aae5b95bb12eca2733d4d3867cd3b9321640e88683c2e0b0fc4f4855357c7
|
package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.7/expo.modules.audio-58.0.7.aar
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
8f4b5ebe1aaa3a88feb8d7e2d5ee1191
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a67bfef57451d3cdbf9593b42736336fa342fec6
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
66ef223a729dc25795eb8a2ac81f772110be7331bcb8201858a53dce2d5be054
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a5561246f985399aacbc1973743d782fdb42eade03470bee92eacfb77be5a67157f2b87e96f5004c16b65c146af341a9aa2ed90ca7b7129aca4224f161f0f98f
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4d079cdd57d0276cc980572dc80c5444
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
e37065c34764b7e540c699e5a424b82eeebbac50
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0621362f20b3bea89af2b07edfbd14d3f6d77ab13800a2f00028ff5e84dff39d
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
b0049cfdc64633e9af6f74a4ca794d549fee7033f855a186cc8562f9f9a695933e7a4a313134dbda6938ace9762625419bf73550f79a3cb6c350e3d68b7d5780
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
5b67b31829e85a704c037e0cbda75aaa
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
441a561e573f4d3fbec8deb1a5abd21610363fcc
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
7af59d9f87d98e504adfff67beb68736863cd686b4fde3e9d7bd83a0c7bfebe3
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
02b96337783f5352e386941375606159b8b4238e5278b2eed18d99018159c20b219038147936314888c08bce9357bd0a9787772632ee442e2199e51690a45c75
|