David Chavez
42767039eb
feat(example): Universal App ( #86 )
2024-04-12 18:56:05 +02:00
Brandon Sneed
e969fd5550
Added macOS support & example ( #79 )
2024-04-11 13:25:51 +02:00
David Chavez
1148a6c28b
chore(metadata): Handle more metadata types ( #58 )
2023-08-15 11:15:03 +02:00
Jonathan Puckey
e41bb22a48
Feature: Queue improvements ( #28 )
2023-01-24 15:50:48 +01:00
David Chavez
2773e4bfec
Trigger skip and jump events only when actually taking action
2021-09-28 09:57:24 +02:00
David Chavez
57b6fb08f3
Fix tests
2021-08-12 11:40:21 +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
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
ae760c4cac
Put events in seperate struct.
...
Makes it easier to discover which events are available.
2019-03-10 09:37:00 +01:00
Jørgen Henrichsen
757e5f476c
Use direct closure handlers for events.
2019-03-10 01:02:04 +01:00
Jørgen Henrichsen
1f5eae407d
Make event calls async.
...
- Events will be emitted on the utility class.
- Use a semaphore to avoid race conditions in the Event class.
- Update example to dispatch ui updates to the main queue.
2019-03-09 21:30:50 +01:00
Jørgen Henrichsen
6804cf5163
Add events as an alternative to delegate. Updated example app.
...
This allows for selective listening to events, and no need to implement empty uneeded delegate methods.
Added a deprecation message to the delegate class, will most likely remove AudioPlayerDelegate in a future update.
2019-03-09 20:18:07 +01:00
Jørgen Henrichsen
9919bde9fe
Fixed compiler warnings.
2018-12-23 14:28:44 +01:00
Jørgen Henrichsen
f6b5e30e85
Converted SwiftAudio and example to Swift 4.2
2018-12-23 12:38:39 +01:00
Jørgen Henrichsen
43821c68a9
Made DefaultAudioItem not conform to TimePitching.
...
New DefaultAudioItemTimePitching can be used instead.
2018-11-14 10:05:20 +01:00
David Chavez
cd43ecc6f9
Update example and fix tests
2018-10-29 15:44:06 +01:00
Jørgen Henrichsen
7c4dc27868
Made it possible to override remote command handlers
2018-10-21 10:42:29 +02:00
Jørgen Henrichsen
6a93840463
More tests
...
Added for SimpleAudioPlayer and QueuedAudioPlayer.
Made next and previous items in the queue non-optional, instead they will be empty when no items are in the queue.
2018-09-06 23:39:03 +02:00
Jørgen Henrichsen
1c4f5ec738
AudioSessionController tests.
...
Also activate audio session on play instead of launch in the example.
2018-08-05 10:02:53 +02:00
Jørgen Henrichsen
da5b7702f7
Use next/prev commands in the example.
2018-08-04 08:55:44 +02:00
Jørgen Henrichsen
04ae9e7986
Made and AVplayerItemObserver
...
Observes the state of an AVPlayerItem. Just duration for now.
Observing the duration is usefull for updating the UI.
2018-07-29 01:09:08 +02:00
Jørgen Henrichsen
460908e180
Updated example app
...
Added title, artist, image, timelabels and a queue.
2018-03-25 17:58:56 +02:00
Jørgen Henrichsen
8587b161b2
Added getters for next and previous items.
2018-03-25 17:58:45 +02:00
Jørgen Henrichsen
65bba1eb75
Next, and previous methods.
2018-03-24 17:44:57 +01:00
Jørgen Henrichsen
b4953f0a73
QueueManager
...
Two subclasses of AudioPlayer. Simple and Queued.
2018-03-24 16:53:11 +01:00
Jørgen Henrichsen
661a7755df
AudioItems can select their own remote commands.
...
ALso fixed a problem where remote commands would not be disabled properly.
2018-03-22 11:40:27 +01:00
Jørgen Henrichsen
ca8f35166d
RemoteEventController that handles remote events
2018-03-21 00:13:17 +01:00
Jørgen Henrichsen
dd518108de
Fixed singletong of AudioSessionController
2018-03-19 12:44:16 +01:00
Jørgen Henrichsen
5b72d198b2
Updated example app.
...
Use AudioSessionController.
2018-03-19 12:00:40 +01:00
Jørgen Henrichsen
bf02f1423d
Restructured and renamed classes to make usage if the player better.
2018-03-19 10:50:49 +01:00
Jørgen Henrichsen
8eb225c86d
Updated example
2018-03-18 18:12:32 +01:00
Jørgen Henrichsen
9cfd8025cb
Added artwork to AudioItem
2018-03-16 11:24:18 +01:00
Jørgen Henrichsen
f7f8fa8748
Updated example project.
2018-03-15 23:49:17 +01:00
Jørgen Henrichsen
1a6100ceb2
Added album title media property.
2018-03-15 22:51:07 +01:00
Jørgen Henrichsen
92f34732e9
Updated example project.
2018-03-15 22:13:28 +01:00
Jørgen Henrichsen
c8c3b5b227
Update slider with animated=false
2018-03-14 08:30:24 +01:00
Jørgen Henrichsen
7dcea1490e
Made it possible to choose time evnet frequency.
2018-03-11 19:51:24 +01:00
Jørgen Henrichsen
e2effcc6ba
Example project.
2018-03-11 19:03:37 +01:00
Jørgen Henrichsen
626b8611ef
Initial commit
2018-03-11 11:38:45 +01:00