Open 12people opened 3 years ago
The same problem
Seems like __int64 is Microsoft-specific notation, equivalent to long long
.
Could the code be changed to replace __int64 with long long so that it can be compiled from any OS?
Hi there @12people !
You're absolutely correct. I didn't know that __int64
typedef only exists on Windows. Wait let me just replace it.
Apart from above,
I'm currently working on a better implementation of this plugin which will bring a lot lot better control, usability & a really better codec/format support. In-fact, I'm using the really powerful libVLC now, to bring the best audio plugin, that will be ever possible for Windows.
I'm sure that you'll love it & it will be a lot more better in terms of performance & controllability.
Thankyou. I'll inform you soon.
I'm also adding things like proper event listeners, network streaming, better asset support, reading metadata without any external plugin & playlists as well. (It's in a private repo currently).
Learn more here.
I installed updated version from github, but now I am getting another error:
../audioplayer/audioplayer.hpp:8:10: fatal error: 'miniaudio/miniaudio_engine.h' file not found
I installed miniaudio dependency on my Linux system.
@oscarmoisei
You need to place these two files from miniaudio repository to get this to work from github repo.
@alexmercerind Thank you! That's solved my problem.
By the way, I also had error:
audioplayer/audioplayer.hpp:134:30: error: unknown type name 'w'
I guess it's mistype.
@oscarmoisei oh yeah. I'm so stupid
Please remove that "w" and it will work. I'm making commit for it aswell.
Apologies for my insane stupidness.
@oscarmoisei
As I said earlier that I'm working on better implementation of this plugin.
Here are few things that work on Flutter for Windows now (project is still private):
Not just audio... But videos aswell (I have to embed them inside Flutter window somehow)
I'll bring it on Linux soon. I don't know if this project will go popular or not.
Everything works now... playlists, network stream etc. etc.
@alexmercerind That's great! You are doing a great job
@alexmercerind thanks for making this great package. I also got caught out by the missing miniaudio headers and .gitignore is nto really the first place I would think to look for that - maybe would be worthwhile putting this in a build section in the Readme? Also it looks like you are planning to more away from using miniaudio, is that correct?
Hi @maks !
Glad you liked what I did. Sorry for the miniaudio confusion. I didn't check those headers in the source control because no one really used the version from git.
Yep! You are right. I have nearly completed a better, performant, controllable and more codec supporting plugin instead of this one. Now I'm using libVLC, I'll make that plugin public today.
I'll also bring it to plain Dart apps (not just Flutter). I have my middle development screenshots above & things are very stable this time.
I'll possibly still maintain this package as alternative to the heavy libVLC version, because miniaudio is really a little & cool library for the purpose.
Thanks.
Currently I'm building that libVLC version, so I'm unable to fix the problems in this package. This package really has some big problems in general.
@alexmercerind thanks for the very quick reply! Yes I've seen now the discussion thread on just_audio package windows support issue. For my use case, I need something lightwieght for linux for a sythesizer audio playback and need it to be useable from pure Dart too, so miniaudio is much better for that than libVLC, so I may end up forking the current version of this library as I think it makes sense for you to contribute windows and linux support to just_audio which needs more functionality than miniaudio provides. Thanks again for writing this library, it makes a perfect starting point for what I need for my project.
Hello @12people & @oscarmoisei !
Thanks for supporting this project. Now libVLC based alternative to this project is live: dart_vlc
It has (in addition to this project):
Other features are in the list. Please use that plugin now instead of this one.
Hope you liked my work. I'm in collaboration with just_audio & assets_audio_player to make Flutter on Windows & Linux a more better place.
When I try to build for Linux (from Linux), I get this output:
It seems int64 isn't being recognized by the compiler in these lines of code: `unsigned int64 durationPCMFrame;
unsigned __int64 positionPCMFrame;`
What can I do about this?