yoheimuta/RxMusicPlayer

audio overlay

Closed this issue · 20 comments

Users noticed that the audio overlaps, can I somehow fix this? All the code is like yours. Example: while the audio has not loaded, the prohibition on downloading another

It still happens when the progressView is rewound to the end

@rastaman111 Thank you for letting me know.
Do you mean it's a reproducible bug in the RxMusicPlayer/Example app?

I'm afraid that I still don't figure out how to reproduce your issue from your comments above.

Or you're issuing a feature request(not a bug) that allows you to turn off prefetching the next tune so that the player starts playing the next one after enough silence(equal to loading time)?

Yes, this is a bug from your example. I think, as an option, you can do this: after clicking on the “next” button or when scrolling, I see the progress to the end, systematically kill the previous download and leave only a new one

Снимок экрана 2020-05-06 в 10 10 07

Another option is audio overlay.
If you startWith (.prefetch) to convert to .startWith (.play) when you turn on the audio and without waiting for the download to switch to the next audio, then the old and new audio are loaded

@rastaman111 I couldn't reproduce it in either procedures you showed.
Can you share a video?

yes of course, as I write down I will inform

Hello! We cannot find this problem yet. We switched to a powerful server and it was gone.

such a question, I found in your code how to rewind audio backwards, I wonder if it is possible to make it so that it doesn’t switch to 0 second, but immediately to previous audio, and if this is the first audio then rewind only to 0 second, but in everything otherwise, go to the previous

https://yadi.sk/i/82nKwIcV7Z1tOA

good afternoon, here is a link to the video, where a problem with audio overlay on each other is noticed

@yoheimuta Hi, did you manage to learn the video?

@rastaman111 Thank you for sharing the video and I watched it.

Is it right that something wrong you mentioned starts around 1:40?
Thanks to your video, I can recognize your issue about "audio overlay."

However, I can't still come up with the exact cause(in the library or in your app) only by this observance. Because the RxMusicPlayer is somewhat just a wrapper of AVPlayer and has only one AVPlayer instance at most.

Yes, this is a bug from your example. I think

So, I want the other version of the video that reproduces it with the Example App so that I can pinpoint the cause and fix it shortly.

yes, right from 1.40 the sound overlay is turned on, do you want an example video using your example?

Yes, I want it to reproduce the same issue in my local environment without extra hassles.

@yoheimuta Hi, it seems to me that the overlay of audio depends on the fact that we use the start of audio from a certain second, can you write a special function for this?

@rastaman111 Thank you for your sharing.
Sure, let me know what a special function is.

@yoheimuta I had introduced a function from your player that allows you to start audio from the right second. And then I use the standard Apple, it can be like with the speed of the product

@yoheimuta

Hi guy, I just talked with developers who have experience with the player, she said it is better to use AVQueuePlayer as a player or use mixing.

And to clear the queue before starting the player, use the function player.replaceCurrentItem (with: currentItem)

@yoheimuta

audio overlay occurs due to the fact that a new instance of the player is being created, and what I described above should solve the problem

@yoheimuta hello, you can close this question , we the problem was on our side

@rastaman111 Thank you for your investigation!
It's clear, and I will close it.