B4A Library vlcb4a - a B4A wrapper of VLC (Android)

victormedranop

Well-Known Member
Licensed User
Longtime User
Moster67, one question.
wish of this library you recommend. vitamin, vlc o ffmpeg ?

victor
 

moster67

Expert
Licensed User
Longtime User
Hard question although I think Vitamio is well-tested and probably most complete.
 

Binary01

Active Member
Licensed User
Longtime User
Thanks moster67 for your contribution.

Now I can't find setChannel (Stereo, Left, Right Channel although it includes in vlc) in vlcb4a - a B4A wrapper of VLC (Android).
 

moster67

Expert
Licensed User
Longtime User
@Binary01
where do you see that "setChannel()" is available for VLC Android. In their SDK?
 

Binary01

Active Member
Licensed User
Longtime User
@moster67

I see this feature of vlc in VLC SDK. (not in VLC Android) and use it in my QtVLC App for PC version not in android.
I have more than 5000 songs and these songs have different music channels (Stereo, Left and Right).

In VLC SDK.



Thank you for your contribution.
 
Last edited:

moster67

Expert
Licensed User
Longtime User
I checked yesterday before writing my reply but I could not find this api in the Android SDK so I cannot really do anything. Sorry.
If in the future such an api will be included in the Android SDK, I will happily add it to the wrapper.
 

MAGAREY

Member
Licensed User
Longtime User
It's possible to run it on Android tv?
When i tried throws an error like this:
[INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
 

moster67

Expert
Licensed User
Longtime User
This means you were trying to install an app that has native libraries (in this case vlcb4a) and it doesn't have a native library for your cpu architecture. For example if you compiled an app for armv7 and are trying to install it on a device that uses the Intel architecture instead it will not work.

Android TV is running on various platforms (different hardware) such as Nvida Shield but also included in Television sets. You need to find out the cpu architecture on the device you are using and see if it is compatible with ARM.

I don't know if I still have the sources for compiling the binaries for vlcb4a but I might have a look if you let me know the cpu architecture needed.
 

blong

Active Member
Licensed User
Longtime User
Perhaps overlooked something

BUT

Is there a way to get the MEDIA information from a video stream like a .ts stream

i.e. the size of the stream 1920 x 1080 or 1280 x 720 etc

I wish to open a stream and get the stream INFO

Thx in advance
 

fraenri

New Member
Licensed User
Longtime User
If there is someone with a device running one of the following platforms: ARM64, X86 and MIPS and who would like to help out testing vlcb4a, please contact me in PM.
Thank you.
Hi, I have released an App that use your library and I try to publicate it on Play Store, but the APK uploaded is not accepted because does not contain 64bit code.
How can I obtain ARM64 version of library?
Thanks
 

moster67

Expert
Licensed User
Longtime User
Hi, I have released an App that use your library and I try to publicate it on Play Store, but the APK uploaded is not accepted because does not contain 64bit code.
How can I obtain ARM64 version of library?
Thanks
Hi, yes you are right. This is an old library and I ought to have marked this library as not compliant with Google Play store's latest requirements. It is still useable for apps not being distributed on Google Play Store though. I will now update the first post accordingly.

I don't recall if I ever compiled ARM64 native libs for this library. I will have a look but I am not really even sure if I still have the sources. Will check and see what I can do.

That said, things have changed over time and personally I would probably use the ExoPlayer (search the forum) these days unless you have codec-issues. Alternatively, you can use my Vitamio5 library/wrapper which has ARM64 and which is just as powerful as VLC.
 
Last edited:

DonManfred

Expert
Licensed User
Longtime User
Last edited:

AbdurRahman

Member
Please report any bugs and/or post general feedback (negative/positive). This will help to keep me motivated and work on the library further.
Good luck!
@moster67
Looks like this old but powerful wrapper isn't updated for a while. This lib is huge gift for everyone using b4a.
Brother I wish if this lib uses updated vlc *.so files and I can direct feed media using bytes or stream.

Reason:
1) *.so files of 2020 have more developments, optimizations and features than of 2016. (I verify)
2) Sometimes, you have video embed as resource. So direct feed media will help me in this regard.
Thanks brother.
 

rasul.g

Member
Hi.

I tested this library (v0.77) by some video files on some devices.

It's a good library and in terms of supporting video/audio codecs works slightly better than other libraries but unfortunately, it got a very bad freeze without any error in some video formats.

for example, The player get freezes with these video files on "galaxy a20" (android 10) (no error- just app get freezes and it doesn't respond anymore)
source code and videos

also please update this library. I think it can be a very good library.
 

fathuraa

New Member
Licensed User
i tried to add SetVlcOptions --audio-filter=scaletempo_pitch --pitch-shift=5 why error
Logger connected to: samsung SM-A705F
--------- beginning of crash
--------- beginning of main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
Surfaceview is null
2702
Surfaceview is null
5705
Surfaceview is null
** Activity (main) Pause, UserClosed = false **
** Service (starter) Destroy (ignored)**
--------- beginning of system
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
Surfaceview is null
1
main_startstreaming (java line: 640)
java.lang.IllegalStateException: can't create LibVLC instance
at org.videolan.libvlc.LibVLC.nativeNew(Native Method)
at org.videolan.libvlc.LibVLC.<init>(LibVLC.java:85)
at org.videolan.libvlc.media.VideoView.initLibVLC(VideoView.java:146)
at org.videolan.libvlc.media.VideoView.setVideoURI(VideoView.java:274)
at com.tillekesoft.vlcb4a.VideoViewWrapper.setVideoURI(VideoViewWrapper.java:238)
at b4a.examplekaraoke.main._startstreaming(main.java:640)
at b4a.examplekaraoke.main._button3_click(main.java:536)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
at android.view.View.performClick(View.java:8160)
at android.widget.TextView.performClick(TextView.java:16222)
at android.view.View.performClickInternal(View.java:8137)
at android.view.View.access$3700(View.java:888)
at android.view.View$PerformClick.run(View.java:30236)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8653)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Copying updated assets files (1)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
Surfaceview is null
1901
Surfaceview is null
1
Error occurred on line: 64 (Main)
java.lang.IllegalStateException: can't create LibVLC instance
at org.videolan.libvlc.LibVLC.nativeNew(Native Method)
at org.videolan.libvlc.LibVLC.<init>(LibVLC.java:85)
at org.videolan.libvlc.media.VideoView.initLibVLC(VideoView.java:146)
at org.videolan.libvlc.media.VideoView.setVideoURI(VideoView.java:274)
at com.tillekesoft.vlcb4a.VideoViewWrapper.setVideoURI(VideoViewWrapper.java:238)
at b4a.examplekaraoke.main._startstreaming(main.java:457)
at b4a.examplekaraoke.main._button3_click(main.java:707)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:348)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
at android.view.View.performClick(View.java:8160)
at android.widget.TextView.performClick(TextView.java:16222)
at android.view.View.performClickInternal(View.java:8137)
at android.view.View.access$3700(View.java:888)
at android.view.View$PerformClick.run(View.java:30236)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8653)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…