VLC to be my music player - who has made one? How to?

  1. 3 years ago

    Sean C

    11 May 2016 New Zealand

    This is for my windows project... I have the MBS plugins. My software uses recording, playback and rate controls.

    I have to this point been using the media player and it's speed feature to playback audio... it often works... but there is a 1 second silence before it changes speed. This is a showstopper for my app. I use the MBS audio foundation tools on the Mac version - and it works great (although i cannot change the input source, or set the Vomiter for recording and Christian obviously is too busy to help out much his customers).

    I am hoping to switch to the VLC library, as it plays back every format and also has rate control!

    Questions:

    • I tried to open the examples of VLC. None of them worked. I'm dealing with audio only.
    • I know this is a bit - controversial... Do I need only the Dlls and the plugin folder in my application data folder to access the VLC stuff (without my user needing to instal VLC themselves)
    • How easy is it to make a simple player. Does it give: position, rate, volume, play, stop current position. These are all I need.

    Rock,
    Sean

  2. Christian S

    11 May 2016 Pre-Release Testers, Xojo Pro, XDC Speakers Germany

    my VLC examples?
    Well you need a VLC.app installed with right bit count (32/64) matching your app.
    Than the example copies the libs from VLC app to your app.
    Maybe path needs to be updated.

    Working without video should work nice. Just don't assign video output stuff.

  3. Sean C

    11 May 2016 New Zealand

    I guess that all windows xojo apps are 32bit (at least mine is 2014v1.1)

  4. Bob K

    11 May 2016 Pre-Release Testers, Xojo Pro Kansas City

    My experience wasn't very good. On the Mac side things went pretty good, but on Windows we had a ton of issues from users and pulled VLC and went back to the standard video player. Some Windows users had no issues but a significant number of them did and we could never figure out the cause. Your mileage may vary but I'd approach VLC with caution and do significant testing in Windows.

  5. Sean C

    11 May 2016 New Zealand

    Yeah - I don't even know where to start with VLC as the examples don't work all

  6. Andrew L

    11 May 2016 San Francisco, CA, USA

    I've been working on using libvlc , which is the library behind VLC Media Player. It still needs a lot of work but you may find it useful anyway.

    @Sean C * I know this is a bit - controversial... Do I need only the Dlls and the plugin folder in my application data folder to access the VLC stuff (without my user needing to instal VLC themselves)

    When using libvlc, you need to put libvlc.dll, libvlccore.dll, and the plugins directory in the same directory as your executable file. I just copied them directly from VLC's install folder.

  7. Christian S

    11 May 2016 Pre-Release Testers, Xojo Pro, XDC Speakers Germany

    The examples work fine here.

    You need a 32-bit VLC copy. The plugin has code to copy the libs to your debug app.
    You may need to change the paths and have right VLC variant.
    32-bit needs an older version of VLC on Mac, not the current one (64-bit only).

  8. Sean C

    11 May 2016 New Zealand

    I'll try adding the dlls in the app and copy them to the executable folder when it runs - I imagine that will take care of debugging.

    The documentation on the github site looks promising - they list speed as a single - but then state that 2.5 = 250% faster - so I think it will actually be a double

  9. Sean C

    11 May 2016 New Zealand

    okay - whats the best way to include the dll's i my debug file?
    I'm running the demo Andrew you suggested
    :)

  10. Andrew L

    11 May 2016 San Francisco, CA, USA

    Either choose the "Run paused" option and copy the DLLs manually every time, or put the DLLs on the system search path. I put the DLLs in a folder that I added to my search path.

  11. Andrew L

    11 May 2016 San Francisco, CA, USA

    @Sean C they list speed as a single - but then state that 2.5 = 250% faster - so I think it will actually be a double

    No it's a Single. The VLC api specifies a variable of type "float", which is a single-precision floating point number.

  12. Sean C

    11 May 2016 New Zealand

    where is the system search path - is that system32?

  13. Andrew L

    11 May 2016 San Francisco, CA, USA

    The search path is a global environment variable. It's the list of directories (including system32) that Windows will look in whenever a program or DLL is requested by name without a path. You edit it in the system properties: http://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/

  14. Sean C

    11 May 2016 New Zealand

    I put both ddls into system32 ... when I run the demo, It gets stuck at this line

    If Not libvlc.IsAvailable Then Raise New PlatformNotSupportedException

  15. Andrew L

    11 May 2016 San Francisco, CA, USA

    That means that the DLLs can't be located. I just tested with system32 and it failed to located the DLLs. Try adding a directory to the path environment variable rather than using system32, or run paused and copy into the build folder.

  16. Sean C

    11 May 2016 New Zealand
    Edited 3 years ago

    can you give a example?
    say I have a folder called VLC in my app's appdata folder (in there are the dlls)
    i.e. f=specialfolder.applicationData.child("My App").Child("VLC")

    I'd much rather do that than pause and copy as I want to do a whole bunch of testing of different features and trying a whole bunch of ideas out. If I'm dong this means running it at least about 150x and pausing and copying would make me lose the will to live. :)

  17. Andrew L

    11 May 2016 San Francisco, CA, USA

    An example of what?

  18. Sean C

    12 May 2016 New Zealand

    This here...
    "Try adding a directory to the path environment variable rather than using system32"

  19. Michel B

    12 May 2016 Pre-Release Testers RubberViews.com
    Edited 3 years ago

    Copy the DLL to the app parent folder next to the exe with a Copy File Step for debugging.

    Then when you release, use the installer to do so.

  20. Christian S

    12 May 2016 Pre-Release Testers, Xojo Pro, XDC Speakers Germany

    maybe you check the code in the MBS example?
    it copies the libs and the modules to the right place in code.

  21. Newer ›

or Sign Up to reply!