expo-audio 56.0.5 → 56.0.7

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 (52) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/audio/service/AudioControlsService.kt +14 -2
  4. package/android/src/main/java/expo/modules/audio/service/MetadataInjectingPlayer.kt +93 -0
  5. package/expo-module.config.json +1 -1
  6. package/ios/AudioPlayer.swift +2 -2
  7. package/ios/AudioPlaylist.swift +2 -2
  8. package/ios/AudioRecorder.swift +4 -4
  9. package/ios/AudioStream.swift +2 -2
  10. package/local-maven-repo/expo/modules/audio/expo.modules.audio/{56.0.5/expo.modules.audio-56.0.5-sources.jar → 56.0.7/expo.modules.audio-56.0.7-sources.jar} +0 -0
  11. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7-sources.jar.md5 +1 -0
  12. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7-sources.jar.sha1 +1 -0
  13. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7-sources.jar.sha256 +1 -0
  14. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7-sources.jar.sha512 +1 -0
  15. package/local-maven-repo/expo/modules/audio/expo.modules.audio/{56.0.5/expo.modules.audio-56.0.5.aar → 56.0.7/expo.modules.audio-56.0.7.aar} +0 -0
  16. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.aar.md5 +1 -0
  17. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.aar.sha1 +1 -0
  18. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.aar.sha256 +1 -0
  19. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.aar.sha512 +1 -0
  20. package/local-maven-repo/expo/modules/audio/expo.modules.audio/{56.0.5/expo.modules.audio-56.0.5.module → 56.0.7/expo.modules.audio-56.0.7.module} +22 -22
  21. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.module.md5 +1 -0
  22. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.module.sha1 +1 -0
  23. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.module.sha256 +1 -0
  24. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.module.sha512 +1 -0
  25. package/local-maven-repo/expo/modules/audio/expo.modules.audio/{56.0.5/expo.modules.audio-56.0.5.pom → 56.0.7/expo.modules.audio-56.0.7.pom} +1 -1
  26. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.pom.md5 +1 -0
  27. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.pom.sha1 +1 -0
  28. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.pom.sha256 +1 -0
  29. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.7/expo.modules.audio-56.0.7.pom.sha512 +1 -0
  30. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml +4 -4
  31. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.md5 +1 -1
  32. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.sha1 +1 -1
  33. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.sha256 +1 -1
  34. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.sha512 +1 -1
  35. package/package.json +4 -4
  36. package/plugin/tsconfig.tsbuildinfo +1 -1
  37. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5-sources.jar.md5 +0 -1
  38. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5-sources.jar.sha1 +0 -1
  39. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5-sources.jar.sha256 +0 -1
  40. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5-sources.jar.sha512 +0 -1
  41. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.aar.md5 +0 -1
  42. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.aar.sha1 +0 -1
  43. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.aar.sha256 +0 -1
  44. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.aar.sha512 +0 -1
  45. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.module.md5 +0 -1
  46. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.module.sha1 +0 -1
  47. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.module.sha256 +0 -1
  48. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.module.sha512 +0 -1
  49. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.pom.md5 +0 -1
  50. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.pom.sha1 +0 -1
  51. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.pom.sha256 +0 -1
  52. package/local-maven-repo/expo/modules/audio/expo.modules.audio/56.0.5/expo.modules.audio-56.0.5.pom.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -10,6 +10,16 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 56.0.7 — 2026-05-15
14
+
15
+ ### 💡 Others
16
+
17
+ - Migrated to the single-payload `SharedObject.emit` API. ([#45596](https://github.com/expo/expo/pull/45596) by [@tsapeta](https://github.com/tsapeta))
18
+
19
+ ## 56.0.6 — 2026-05-13
20
+
21
+ _This version does not introduce any user-facing changes._
22
+
13
23
  ## 56.0.5 — 2026-05-13
14
24
 
15
25
  ### 💡 Others
@@ -52,6 +62,7 @@ _This version does not introduce any user-facing changes._
52
62
  - [iOS] Prevent stale lock screen artwork updates from crashing or overwriting newer metadata. ([#44498](https://github.com/expo/expo/pull/44498) by [@kotadd](https://github.com/kotadd))
53
63
  - [iOS] Fix playback progress continuing after pause by setting correct playback rate in now playing info. ([#44974](https://github.com/expo/expo/pull/44974) by [@JstUsername](https://github.com/JstUsername))
54
64
  - [Android] Remove `RECORD_AUDIO` from the manifest so `recordAudioAndroid` depends on the plugin. ([#45131](https://github.com/expo/expo/pull/45131) by [@alanjhughes](https://github.com/alanjhughes))
65
+ - [Android] Fix pixelated lock screen artwork on Android 13+ by setting `artworkUri` on the session's `MediaMetadata`. ([#44953](https://github.com/expo/expo/pull/44953) by [@radko93](https://github.com/radko93))
55
66
 
56
67
  ### 💡 Others
57
68
 
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'expo.modules.audio'
7
- version = '56.0.5'
7
+ version = '56.0.7'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.audio"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName "56.0.5"
13
+ versionName "56.0.7"
14
14
  }
15
15
 
16
16
  compileOptions {
@@ -42,6 +42,7 @@ class AudioControlsService : MediaSessionService() {
42
42
  private lateinit var audioManager: AudioManager
43
43
  private val binder = AudioPlaybackServiceBinder(this)
44
44
  private var mediaSession: MediaSession? = null
45
+ private var sessionMetadataPlayer: MetadataInjectingPlayer? = null
45
46
  private var currentMetadata: Metadata? = null
46
47
  private var currentPlayer: AudioPlayer? = null
47
48
  private var currentOptions: AudioLockScreenOptions? = null
@@ -323,10 +324,13 @@ class AudioControlsService : MediaSessionService() {
323
324
 
324
325
  if (player != null) {
325
326
  mediaSession?.release()
327
+ sessionMetadataPlayer = null
326
328
 
327
329
  appContext?.mainQueue?.launch {
328
330
  val context = appContext?.reactContext ?: return@launch
329
- val sessionPlayer = resolveSessionPlayer(player, options)
331
+ val sessionPlayer = MetadataInjectingPlayer(resolveSessionPlayer(player, options)).apply {
332
+ updateMetadata(metadata)
333
+ }
330
334
  val session = MediaSession.Builder(context, sessionPlayer)
331
335
  .setCallback(AudioMediaSessionCallback())
332
336
  .build()
@@ -337,6 +341,7 @@ class AudioControlsService : MediaSessionService() {
337
341
 
338
342
  addSession(session)
339
343
  mediaSession = session
344
+ sessionMetadataPlayer = sessionPlayer
340
345
 
341
346
  updateSessionCustomLayout(player.ref.isPlaying)
342
347
 
@@ -357,6 +362,7 @@ class AudioControlsService : MediaSessionService() {
357
362
  return
358
363
  }
359
364
  currentMetadata = metadata
365
+ sessionMetadataPlayer?.updateMetadata(metadata)
360
366
  currentMetadata?.artworkUrl?.let {
361
367
  loadArtworkFromUrl(it) { bitmap ->
362
368
  currentArtwork = bitmap
@@ -372,6 +378,7 @@ class AudioControlsService : MediaSessionService() {
372
378
  currentMetadata = null
373
379
  mediaSession?.release()
374
380
  mediaSession = null
381
+ sessionMetadataPlayer = null
375
382
  currentPlayer?.assignBasicMediaSession()
376
383
  stopForeground(STOP_FOREGROUND_REMOVE)
377
384
  }
@@ -399,9 +406,12 @@ class AudioControlsService : MediaSessionService() {
399
406
  currentOptions = options
400
407
 
401
408
  mediaSession?.release()
409
+ sessionMetadataPlayer = null
402
410
  appContext?.mainQueue?.launch {
403
411
  val context = appContext?.reactContext ?: return@launch
404
- val sessionPlayer = resolveSessionPlayer(player, options)
412
+ val sessionPlayer = MetadataInjectingPlayer(resolveSessionPlayer(player, options)).apply {
413
+ updateMetadata(metadata)
414
+ }
405
415
  val session = MediaSession.Builder(context, sessionPlayer)
406
416
  .setCallback(AudioMediaSessionCallback())
407
417
  .build()
@@ -411,6 +421,7 @@ class AudioControlsService : MediaSessionService() {
411
421
 
412
422
  addSession(session)
413
423
  mediaSession = session
424
+ sessionMetadataPlayer = sessionPlayer
414
425
 
415
426
  updateSessionCustomLayout(player.ref.isPlaying)
416
427
  postOrStartForegroundNotification(startInForeground = false)
@@ -468,6 +479,7 @@ class AudioControlsService : MediaSessionService() {
468
479
  scope.cancel()
469
480
  mediaSession?.release()
470
481
  mediaSession = null
482
+ sessionMetadataPlayer = null
471
483
  currentPlayer = null
472
484
  currentMetadata = null
473
485
  currentOptions = null
@@ -0,0 +1,93 @@
1
+ package expo.modules.audio.service
2
+
3
+ import android.os.Handler
4
+ import android.os.Looper
5
+ import androidx.core.net.toUri
6
+ import androidx.media3.common.FlagSet
7
+ import androidx.media3.common.ForwardingPlayer
8
+ import androidx.media3.common.MediaMetadata
9
+ import androidx.media3.common.Player
10
+ import androidx.media3.common.util.UnstableApi
11
+ import expo.modules.audio.Metadata
12
+ import java.util.IdentityHashMap
13
+
14
+ // MediaSession reads artwork from Player.mediaMetadata, but expo-audio lock-screen metadata can
15
+ // change independently of the underlying MediaItem. This wrapper lets the session observe those
16
+ // metadata updates without replacing the active media item on the real ExoPlayer instance.
17
+ @UnstableApi
18
+ internal class MetadataInjectingPlayer(
19
+ player: Player
20
+ ) : ForwardingPlayer(player) {
21
+ private val handler = Handler(applicationLooper)
22
+ private val listeners = IdentityHashMap<Player.Listener, Player.Listener>()
23
+ private var injectedMetadata: Metadata? = null
24
+
25
+ override fun addListener(listener: Player.Listener) {
26
+ val forwardingListener = synchronized(listeners) {
27
+ listeners.getOrPut(listener) { MetadataForwardingListener(listener) }
28
+ }
29
+ super.addListener(forwardingListener)
30
+ }
31
+
32
+ override fun removeListener(listener: Player.Listener) {
33
+ val forwardingListener = synchronized(listeners) {
34
+ listeners.remove(listener)
35
+ }
36
+ super.removeListener(forwardingListener ?: listener)
37
+ }
38
+
39
+ override fun getMediaMetadata(): MediaMetadata {
40
+ val metadata = injectedMetadata
41
+ return super.getMediaMetadata()
42
+ .buildUpon()
43
+ .setTitle(metadata?.title)
44
+ .setArtist(metadata?.artist)
45
+ .setAlbumTitle(metadata?.albumTitle)
46
+ .setArtworkUri(metadata?.artworkUrl?.toString()?.toUri())
47
+ .setArtworkData(null, null)
48
+ .build()
49
+ }
50
+
51
+ fun updateMetadata(metadata: Metadata?) {
52
+ if (Looper.myLooper() != applicationLooper) {
53
+ handler.post { updateMetadata(metadata) }
54
+ return
55
+ }
56
+
57
+ val previousMetadata = mediaMetadata
58
+ injectedMetadata = metadata
59
+ val newMetadata = mediaMetadata
60
+
61
+ if (previousMetadata == newMetadata) {
62
+ return
63
+ }
64
+
65
+ val events = Player.Events(
66
+ FlagSet.Builder()
67
+ .add(Player.EVENT_MEDIA_METADATA_CHANGED)
68
+ .build()
69
+ )
70
+ val currentListeners = synchronized(listeners) {
71
+ listeners.keys.toList()
72
+ }
73
+
74
+ currentListeners.forEach {
75
+ it.onMediaMetadataChanged(newMetadata)
76
+ }
77
+ currentListeners.forEach {
78
+ it.onEvents(this, events)
79
+ }
80
+ }
81
+
82
+ private inner class MetadataForwardingListener(
83
+ private val listener: Player.Listener
84
+ ) : Player.Listener by listener {
85
+ override fun onMediaMetadataChanged(mediaMetadata: MediaMetadata) {
86
+ listener.onMediaMetadataChanged(this@MetadataInjectingPlayer.mediaMetadata)
87
+ }
88
+
89
+ override fun onEvents(player: Player, events: Player.Events) {
90
+ listener.onEvents(this@MetadataInjectingPlayer, events)
91
+ }
92
+ }
93
+ }
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "expo.modules.audio",
10
10
  "artifactId": "expo.modules.audio",
11
- "version": "56.0.5",
11
+ "version": "56.0.7",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -169,7 +169,7 @@ public class AudioPlayer: SharedRef<AVPlayer>, Playable {
169
169
  arguments.merge(dict) { _, new in
170
170
  new
171
171
  }
172
- self.emit(event: AudioConstants.playbackStatus, arguments: arguments)
172
+ self.emit(event: AudioConstants.playbackStatus, payload: arguments)
173
173
 
174
174
  if isActiveForLockScreen {
175
175
  MediaController.shared.updateNowPlayingInfo(for: self)
@@ -390,7 +390,7 @@ public class AudioPlayer: SharedRef<AVPlayer>, Playable {
390
390
  return ["frames": channelData]
391
391
  }
392
392
 
393
- self.emit(event: AudioConstants.audioSample, arguments: [
393
+ self.emit(event: AudioConstants.audioSample, payload: [
394
394
  "channels": channels,
395
395
  "timestamp": timestamp
396
396
  ])
@@ -238,7 +238,7 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
238
238
  func updateStatus(with dict: [String: Any]) {
239
239
  var arguments = currentStatus()
240
240
  arguments.merge(dict) { _, new in new }
241
- self.emit(event: PlaylistConstants.playlistStatusUpdate, arguments: arguments)
241
+ self.emit(event: PlaylistConstants.playlistStatusUpdate, payload: arguments)
242
242
  }
243
243
 
244
244
  private func validIndex(_ index: Int) -> Bool {
@@ -246,7 +246,7 @@ public class AudioPlaylist: SharedRef<AVQueuePlayer>, Playable {
246
246
  }
247
247
 
248
248
  private func emitTrackChanged(previousIndex: Int, currentIndex: Int) {
249
- self.emit(event: PlaylistConstants.trackChanged, arguments: [
249
+ self.emit(event: PlaylistConstants.trackChanged, payload: [
250
250
  "previousIndex": previousIndex,
251
251
  "currentIndex": currentIndex
252
252
  ])
@@ -183,7 +183,7 @@ class AudioRecorder: SharedRef<AVAudioRecorder>, RecordingResultHandler {
183
183
  if let options = currentOptions {
184
184
  do {
185
185
  try prepare(options: options, sessionOptions: currentSessionOptions)
186
- emit(event: recordingStatus, arguments: [
186
+ emit(event: recordingStatus, payload: [
187
187
  "id": id,
188
188
  "isFinished": true,
189
189
  "hasError": false,
@@ -196,7 +196,7 @@ class AudioRecorder: SharedRef<AVAudioRecorder>, RecordingResultHandler {
196
196
  }
197
197
 
198
198
  currentState = .error
199
- emit(event: recordingStatus, arguments: [
199
+ emit(event: recordingStatus, payload: [
200
200
  "id": id,
201
201
  "isFinished": true,
202
202
  "hasError": true,
@@ -211,7 +211,7 @@ class AudioRecorder: SharedRef<AVAudioRecorder>, RecordingResultHandler {
211
211
  currentState = .stopped
212
212
  resetDurationTracking()
213
213
 
214
- emit(event: recordingStatus, arguments: [
214
+ emit(event: recordingStatus, payload: [
215
215
  "id": id,
216
216
  "isFinished": true,
217
217
  "hasError": false,
@@ -225,7 +225,7 @@ class AudioRecorder: SharedRef<AVAudioRecorder>, RecordingResultHandler {
225
225
  currentState = .error
226
226
  resetDurationTracking()
227
227
 
228
- emit(event: recordingStatus, arguments: [
228
+ emit(event: recordingStatus, payload: [
229
229
  "id": id,
230
230
  "isFinished": true,
231
231
  "hasError": true,
@@ -155,7 +155,7 @@ class AudioStream: SharedObject {
155
155
  }
156
156
 
157
157
  private func emitStatus() {
158
- emit(event: AUDIO_STREAM_STATUS, arguments: [
158
+ emit(event: AUDIO_STREAM_STATUS, payload: [
159
159
  "isStreaming": isStreaming
160
160
  ])
161
161
  }
@@ -180,7 +180,7 @@ class AudioStream: SharedObject {
180
180
  return
181
181
  }
182
182
 
183
- emit(event: AUDIO_STREAM_BUFFER, arguments: [
183
+ emit(event: AUDIO_STREAM_BUFFER, payload: [
184
184
  "data": data,
185
185
  "sampleRate": sampleRate,
186
186
  "channels": channels,
@@ -0,0 +1 @@
1
+ a49e45c8b6aa954203065b6eb5334a78a828af8d0b308a7528215f3b5b7c9adc
@@ -0,0 +1 @@
1
+ 24cdc522afefdbcf66d3ffa87fed788e3b1de42c05b902108398ae9d933dcad5b5d73ddec0d2268f56c42e066c5faed980f1b2bc6cbb90b2fab11216c1c6dfd9
@@ -0,0 +1 @@
1
+ 1cda01b9c67ceff57a2fcd690bf0c84f0e3f23c20c47304493567d3bc3ee7344
@@ -0,0 +1 @@
1
+ ce050e9b7c63f9b616d8343c3c8e4333a83550de304ee72d38e2f28edaba30e1974bf361cbddd7ad8af6275f3ac6ac2daa485005a745a799de80f81883e72f1a
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.audio",
5
5
  "module": "expo.modules.audio",
6
- "version": "56.0.5",
6
+ "version": "56.0.7",
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-56.0.5.aar",
28
- "url": "expo.modules.audio-56.0.5.aar",
29
- "size": 472595,
30
- "sha512": "50204594468f7710e47700986cf6576ab9740fdcdd8844949bcb18070e421b297c2899d3e6159a13853039a517486529a9efc06d1ff81771038d6d9fa2cf56fb",
31
- "sha256": "a25203c3df1b887123b59db81afcf4132a1c8aeb57acfd4a58706e5d2ed4c8c5",
32
- "sha1": "f1783da6f71616a7bd3ca497eba8cf16ed75a7b0",
33
- "md5": "108cc95093198f117d6cc911be1a5930"
27
+ "name": "expo.modules.audio-56.0.7.aar",
28
+ "url": "expo.modules.audio-56.0.7.aar",
29
+ "size": 477850,
30
+ "sha512": "ce050e9b7c63f9b616d8343c3c8e4333a83550de304ee72d38e2f28edaba30e1974bf361cbddd7ad8af6275f3ac6ac2daa485005a745a799de80f81883e72f1a",
31
+ "sha256": "1cda01b9c67ceff57a2fcd690bf0c84f0e3f23c20c47304493567d3bc3ee7344",
32
+ "sha1": "fe0b13166d91b26a86cd1d7a261363c448908259",
33
+ "md5": "0733d0e9a6d0554684c01629d7551fb4"
34
34
  }
35
35
  ]
36
36
  },
@@ -137,13 +137,13 @@
137
137
  ],
138
138
  "files": [
139
139
  {
140
- "name": "expo.modules.audio-56.0.5.aar",
141
- "url": "expo.modules.audio-56.0.5.aar",
142
- "size": 472595,
143
- "sha512": "50204594468f7710e47700986cf6576ab9740fdcdd8844949bcb18070e421b297c2899d3e6159a13853039a517486529a9efc06d1ff81771038d6d9fa2cf56fb",
144
- "sha256": "a25203c3df1b887123b59db81afcf4132a1c8aeb57acfd4a58706e5d2ed4c8c5",
145
- "sha1": "f1783da6f71616a7bd3ca497eba8cf16ed75a7b0",
146
- "md5": "108cc95093198f117d6cc911be1a5930"
140
+ "name": "expo.modules.audio-56.0.7.aar",
141
+ "url": "expo.modules.audio-56.0.7.aar",
142
+ "size": 477850,
143
+ "sha512": "ce050e9b7c63f9b616d8343c3c8e4333a83550de304ee72d38e2f28edaba30e1974bf361cbddd7ad8af6275f3ac6ac2daa485005a745a799de80f81883e72f1a",
144
+ "sha256": "1cda01b9c67ceff57a2fcd690bf0c84f0e3f23c20c47304493567d3bc3ee7344",
145
+ "sha1": "fe0b13166d91b26a86cd1d7a261363c448908259",
146
+ "md5": "0733d0e9a6d0554684c01629d7551fb4"
147
147
  }
148
148
  ]
149
149
  },
@@ -157,13 +157,13 @@
157
157
  },
158
158
  "files": [
159
159
  {
160
- "name": "expo.modules.audio-56.0.5-sources.jar",
161
- "url": "expo.modules.audio-56.0.5-sources.jar",
162
- "size": 35792,
163
- "sha512": "e2232fd407b882af66893dc25ea436522fff3cb025be09a1959daa99c39bd585d685b1729c7ca5e2ea970f6c0f98b083187b17a19680f3434529e93277302646",
164
- "sha256": "7adc88e437f5c6573628c06bd85ad77da782bc1c370c756310b82d6344c96d99",
165
- "sha1": "5d7850aa094236f7117525f5b41b248cf88e6aa3",
166
- "md5": "b03efa19389d62afcae08ccb49299bc5"
160
+ "name": "expo.modules.audio-56.0.7-sources.jar",
161
+ "url": "expo.modules.audio-56.0.7-sources.jar",
162
+ "size": 36988,
163
+ "sha512": "24cdc522afefdbcf66d3ffa87fed788e3b1de42c05b902108398ae9d933dcad5b5d73ddec0d2268f56c42e066c5faed980f1b2bc6cbb90b2fab11216c1c6dfd9",
164
+ "sha256": "a49e45c8b6aa954203065b6eb5334a78a828af8d0b308a7528215f3b5b7c9adc",
165
+ "sha1": "1b4401764106574ea2c8bf8b7eefaffdaff355b2",
166
+ "md5": "a3c377949421fc29921345ce1599e3b3"
167
167
  }
168
168
  ]
169
169
  }
@@ -0,0 +1 @@
1
+ e559255f1b71fd4219ce4be7bc2926b08a026ab286ad40ed79cf8b89882bbf64
@@ -0,0 +1 @@
1
+ 57a72fd54149c7328dc9b8bcbcf435069103a9558b9614d41a438e95eb24014e4d4cdd1ce234412498aa117fe896d3cf33bca09751e9166f0a60d1086f5c2c20
@@ -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>56.0.5</version>
12
+ <version>56.0.7</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
+ 5c1feee02cc9ea509f53a19a4e351bf9b9164de3858a5bb00b7f8c61ca1cb86b
@@ -0,0 +1 @@
1
+ d1e54b7729ca33c7dc472b5fa280bc11ccb8d35509e85854d7e1911f8a0d06bc17e67b8a91574904aff9fb886b8adc64254179ac8a313bdb98048e4da6bac8e0
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.audio</groupId>
4
4
  <artifactId>expo.modules.audio</artifactId>
5
5
  <versioning>
6
- <latest>56.0.5</latest>
7
- <release>56.0.5</release>
6
+ <latest>56.0.7</latest>
7
+ <release>56.0.7</release>
8
8
  <versions>
9
- <version>56.0.5</version>
9
+ <version>56.0.7</version>
10
10
  </versions>
11
- <lastUpdated>20260513103325</lastUpdated>
11
+ <lastUpdated>20260515152456</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- d0c1c00020b39a96d96011fd8dfd3223
1
+ f491f1d7855560913067102ab64df484
@@ -1 +1 @@
1
- ad44c35b66e0434fb314006e66fc6911d3cdaa8d
1
+ 9ecc87eb2ef9919d165eda149e41db51ad1595bd
@@ -1 +1 @@
1
- 62fd88a91428018c2f614e883ad94d57a28dfa6b4c0f693d575828e9771ac5c3
1
+ ea4b4d9c6a34d48d6b7c3fb10676c1fdf3097c6e63f26caeda62c80802697943
@@ -1 +1 @@
1
- 1c3d1771ec0ed2f2e6ae7c97e2fe7327f8d07244d08a439187ad673c0f1a0e67d245262aa2f2d59c12a2328244d0e545ff3351d5bf9920dd0bcfe905508f2987
1
+ 4809b963da4dd057940247713f6689bc5f0cfb1f4d8da27774ea7de1deeb6541b5630e51022c8c7d10aca4c486f5c4a87ec06c1ae97a4e655348a72005fff872
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "expo-audio",
3
3
  "title": "Expo Audio",
4
- "version": "56.0.5",
4
+ "version": "56.0.7",
5
5
  "description": "A cross-platform audio library for React Native and Expo apps.",
6
6
  "main": "build/index.js",
7
7
  "types": "build/index.d.ts",
@@ -26,8 +26,8 @@
26
26
  "devDependencies": {
27
27
  "@types/react": "~19.2.0",
28
28
  "@types/node": "^22.14.0",
29
- "expo": "56.0.0-preview.10",
30
- "expo-asset": "56.0.8",
29
+ "expo": "56.0.0-preview.12",
30
+ "expo-asset": "56.0.10",
31
31
  "expo-module-scripts": "56.0.2"
32
32
  },
33
33
  "peerDependencies": {
@@ -36,7 +36,7 @@
36
36
  "react-native": "*",
37
37
  "expo-asset": "*"
38
38
  },
39
- "gitHead": "40f0a6f6711d93762e0506b37e6e077e4bd9a541",
39
+ "gitHead": "f26be3dd9396bf7c399a1d607865d0fabdbc0d64",
40
40
  "scripts": {
41
41
  "build": "expo-module build",
42
42
  "clean": "expo-module clean",
@@ -1 +1 @@
1
- {"root":["./src/withaudio.ts"],"version":"5.9.2"}
1
+ {"root":["./src/index.ts","./src/withaudio.ts"],"version":"5.9.3"}
@@ -1 +0,0 @@
1
- 7adc88e437f5c6573628c06bd85ad77da782bc1c370c756310b82d6344c96d99
@@ -1 +0,0 @@
1
- e2232fd407b882af66893dc25ea436522fff3cb025be09a1959daa99c39bd585d685b1729c7ca5e2ea970f6c0f98b083187b17a19680f3434529e93277302646
@@ -1 +0,0 @@
1
- f1783da6f71616a7bd3ca497eba8cf16ed75a7b0
@@ -1 +0,0 @@
1
- a25203c3df1b887123b59db81afcf4132a1c8aeb57acfd4a58706e5d2ed4c8c5
@@ -1 +0,0 @@
1
- 50204594468f7710e47700986cf6576ab9740fdcdd8844949bcb18070e421b297c2899d3e6159a13853039a517486529a9efc06d1ff81771038d6d9fa2cf56fb
@@ -1 +0,0 @@
1
- 33c69502e08021f27d158df65cd4a733149b06b65c4854946b88dfa42cc6df5b
@@ -1 +0,0 @@
1
- a9b3dbbdf90ee09d09613708ea59dda7fe86611d9ff34c6ffa524e37d15343586547a9506fe730d2c1b0b4bf91402e76ff3d241d988c5fba6a0bf0ea1c3975d7
@@ -1 +0,0 @@
1
- ba66b4433f478f85cd078004773b7e253eaaed6c
@@ -1 +0,0 @@
1
- 5edc401573b021778f819b44612548f51f1c2a964b8ed8fddb440082ff8a9f33
@@ -1 +0,0 @@
1
- 24c679d78999946834806c10aa70392d0cd37a43962cfe762e9b321774e7e7f318eea1c814d19afbe2fb6bc24937963821e38fb213acccd39438b1826c9c16a3