147 Commits

Author SHA1 Message Date
David Chavez 42767039eb feat(example): Universal App (#86) 2024-04-12 18:56:05 +02:00
David Chavez 1e64a9aa8b chore(ci): Add a macOS workflow (#83) 2024-04-11 13:50:11 +02:00
Brandon Sneed e969fd5550 Added macOS support & example (#79) 2024-04-11 13:25:51 +02:00
David Chavez 0c87d2479e chore(tests): revamp and move to library (#67) 2023-10-20 14:47:19 +02:00
David Chavez 1148a6c28b chore(metadata): Handle more metadata types (#58) 2023-08-15 11:15:03 +02:00
David Chavez bfe5851dc4 fix(replay): replay at bottom of stack 2023-07-25 18:10:27 +02:00
David Chavez 7ffa9b0113 chore(tests): fix comparsion approximations 2023-07-25 12:16:13 +02:00
Jonathan Puckey ebec7afccd Fix/race conditions (#55) 2023-07-18 12:23:04 +02:00
Jonathan Puckey 348dcc17f7 Fix player state not becoming paused after loading (#46)
- fix player state not becoming .paused after .loading
- change tests to reflect the correct result
- set async defaults timeout to 10 seconds & polling to 100ms
- refactor AudioPlayerTests to use PlayerStateEventListener, quick & nimble
2023-03-27 09:57:51 +02:00
Jonathan Puckey b10aea494f Fix/queue manager (#45)
- avoid calling delegate?.onSkippedToSameCurrentItem() when the current index becomes one less due to a track before it being removed (the root cause of what fix: #42 - update current item correctly upon removal #43 fixes)
- avoid calling onCurrentItemChanged unnecessarily in skip
- move onSkippedToSameCurrentItem() call into skip & jump
- fix a few tests
2023-03-27 09:56:44 +02:00
David Chavez cbbbd57397 Revert "Fix removing items from queue other than the current track (#41)"
This reverts commit a270b3b232.
2023-03-27 09:56:09 +02:00
Christian Duvholt a270b3b232 Fix removing items from queue other than the current track (#41)
Co-authored-by: Christian Duvholt <christian.duvholt@iterate.no>
2023-03-27 09:51:50 +02:00
Jonathan Puckey 7870d3bba6 Fix seeking within a large file over http & updating of playWhenReady to external pause (#40) 2023-02-20 19:07:38 +01:00
Jonathan Puckey e41bb22a48 Feature: Queue improvements (#28) 2023-01-24 15:50:48 +01:00
Jonathan Puckey 24c19aa661 Remove unnecessary buffer settings from tests. (#26)
As expected, the tests run successfully without these set too. See https://github.com/doublesymmetry/react-native-track-player/pull/1695
2022-09-06 09:15:36 +02:00
David Chavez 4f7a5b02a6 Fix: Bug - repeat mode and queue index event (#16) 2022-04-22 23:11:01 +02:00
David Chavez a9f831a258 Fix bug in addItems at index and add tests 2022-04-01 21:18:52 +02:00
David Chavez cc3840d81e Fix next/previous with repeat modes 2022-04-01 20:47:54 +02:00
David Chavez 5307090ea3 Replace deprecated “timedMetadata" KVO 2022-04-01 17:47:57 +02:00
David Chavez bdaee8b18f Extract more information from interruptions 2022-04-01 00:14:47 +02:00
David Chavez f2f1c1236c Add tests for new seek improvements 2022-02-24 08:48:54 +01:00
David Chavez cca7f68da4 Increase deployment target for Test Target 2021-09-28 10:12:22 +02:00
David Chavez 2773e4bfec Trigger skip and jump events only when actually taking action 2021-09-28 09:57:24 +02:00
David Chavez cafd513468 Raise minimum deployment target to iOS11
Due to breaking change in Swift 5.5 & Xcode 13
2021-09-16 17:50:43 +02:00
David Chavez 7b8a4f318d Add tests for repeat mode 2021-08-19 16:27:41 +02:00
David Chavez 57b6fb08f3 Fix tests 2021-08-12 11:40:21 +02:00
David Chavez 7370ad05e6 Add support for metadata updates (#3) 2021-05-29 22:54:41 +02:00
David Chavez b2cb178d21 Fix tests 2021-05-29 17:23:51 +02:00
David Chavez fffe1e5514 Add SPM Support (#1) 2021-05-27 22:19:49 +02:00
Jørgen Henrichsen ec9492da17 Add tests for the loading state. 2019-07-03 17:48:28 +02:00
Jørgen Henrichsen 5add7699ff Added an example of how to handle network error.
The example app will now handle a network error, and reload when play is called, after a item failed to load because of a network error.
2019-07-03 16:41:14 +02:00
Jørgen Henrichsen bc1d775875 Reset audio file to spotify preview in example app. 2019-07-03 15:06:50 +02:00
Jørgen Henrichsen 719d3c852b Add an activityindicator to the example.
Shows how an activityindicator can be used to indicate loading, when player is loading or buffering.
2019-07-03 13:21:41 +02:00
Jørgen Henrichsen 4f33d7e688 Add a new state buffering.
Introduces an additional state to better describe the current state of the player.
Previously the player would be `idle` until the  item was loaded, then changing to `ready`. When the player started to play it would first enter `loading`, then subsequently `playing`.
Now it will instead immediately enter `loading`, then when the item is loaded it will enter `ready`. When the item then is played it will enter `buffering` and then `playing`.
This should make it easier to update UI accordingly to the players current state.
2019-07-03 11:23:10 +02:00
Jørgen Henrichsen 457dff7c01 Use weak capturing of the AudioPlayer. Remove initial time test.
Weak capturing of the AudioPlayer is done in the listener callback functions in order to not receive INVOPs in the event the audioPlayer is deallocated.
The initial time test is removed because of the unreliable results it produces.
2019-06-23 18:06:43 +02:00
Jørgen Henrichsen 60eb4b4676 Removed the currentTime test.
Removes the test that always fails in the CI env at bitrise.
2019-06-18 11:30:47 +02:00
Jørgen Henrichsen 4ec9e9c2a2 Update currentTime tests.
Use a shorter `timeEventFrequenct` in order to recieve the callback quicker, so the test can pass quicker.
2019-06-18 11:16:04 +02:00
Jørgen Henrichsen b2efdf4d65 Rewrote the current time test.
Checks each time a second elapses, instead of just at state == `playing`.
2019-06-13 22:33:41 +02:00
Jørgen Henrichsen 4d0f29adf6 Increased timeout for expectations. 2019-06-13 21:42:47 +02:00
Jørgen Henrichsen f817bc5840 Wrote AudioPlayerTests using the XCTest framework. 2019-06-13 21:42:47 +02:00
Jørgen Henrichsen 5755b70e1b Rewrote AVPlayerWrapperTests using the XCTest framework. 2019-06-13 21:42:47 +02:00
Jørgen Henrichsen 83ac2af5d6 Set timepitchingalgo on audio ready. Update tests to support async loading. 2019-06-13 21:10:57 +02:00
Jørgen Henrichsen af4635d047 Remove AVPlayer parameter from init in both AudioPlayer and AVPlayerWrapper. 2019-05-11 19:29:36 +02:00
Jørgen Henrichsen 46022ef0d6 Add event when AVPlayer is recreated.
The AudioSession category will need to be set again when this event is emitted.
2019-05-11 17:56:43 +02:00
Jørgen Henrichsen 17166093c2 Correctly set isObserving when stopping the observation. 2019-05-11 17:46:27 +02:00
Jørgen Henrichsen c06b8ce64c Made the player observer not retain the AVPlayer.
They will also stop observing the current AVPlayer if a new one is going to be set.
2019-05-11 17:34:24 +02:00
Jørgen Henrichsen d32a041159 Updated to recommended project settings. 2019-04-18 16:53:07 +02:00
Jørgen Henrichsen 8161c3cf02 Update to Swift 5. 2019-04-18 16:53:07 +02:00
Jørgen Henrichsen bb0f301383 Update dependencies. 2019-04-18 16:53:07 +02:00
Jørgen Henrichsen 8e6b72613d Set volume of player in tests to 0. 2019-03-10 10:36:30 +01:00