Hello Tom, Thanks for your comments.
Regarding the issue with armeabi-7A - I made several experiments and it works as follows: My app supports Android from 23 up to 29. The test release of the app which was built just for armeabi-7A plays fine on modern phones with 64 -bit CPU. Have tested on Xiaomi MI 9 Lite and Samsung A50. But, also, I;m testing the app on my old tablet Asus TF300 with 32-bit CPU and here I met crash on the line Java.Lang.JavaSystem.LoadLibrary("fluidsynth"); So, in my humble understanding the .so files of fluidsynth in armeabi-7A folder working fine with 64 -bit but not supporting 32-bit... Below are numerous words copied from exception object: System.Reflection.TargetInvocationException Exception has been thrown by the target of an invocation. dlopen failed: cannot locate symbol "in6addr_any" referenced by "/data/app/com.abex.FAMIDI-1/lib/arm/libfluidsynth.so"... CanonicalName "java.lang.UnsatisfiedLinkError" string GenericParameterAttributes System.InvalidOperationException: Method may only be called on a Type for which Type.IsGenericParameter is true. System.Reflection.GenericParameterAttributes KeyHandle Не удалось привести тип объекта "Mono.Debugger.Soft.PointerValue" к типу "Mono.Debugger.Soft.PrimitiveValue". -$exception {System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Java.Lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "in6addr_any" referenced by "/data/app/com.abex.FAMIDI-1/lib/arm/libfluidsynth.so"... at Java.Interop.JniEnvironment+StaticMethods.CallStaticVoidMethod (Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0006e] in <42748fcc36b74733af2d9940a8f3cc8e>:0 at Java.Interop.JniPeerMembers+JniStaticMethods.InvokeVoidMethod (System.String encodedMember, Java.Interop.JniArgumentValue* parameters) [0x00018] in <42748fcc36b74733af2d9940a8f3cc8e>:0 at Java.Lang.JavaSystem.LoadLibrary (System.String libname) [0x00029] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 at FA.Droid.FluidSynth.CreateFluidSynth () [0x00001] in D:\ProjectsVS19\FA DB\FA\FA.Android\FluidSynth.cs:140 at FA.Droid.MidiWorker..ctor () [0x00016] in D:\ProjectsVS19\FA DB\FA\FA.Android\MidiWorker.cs:51 at (wrapper managed-to-native) System.Reflection.RuntimeConstructorInfo.InternalInvoke(System.Reflection.RuntimeConstructorInfo,object,object[],System.Exception&) at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x00005] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/System.Reflection/RuntimeMethodInfo.cs:936 --- End of inner exception stack trace --- at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x00018] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/System.Reflection/RuntimeMethodInfo.cs:944 at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00095] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/ReferenceSources/RuntimeType.cs:185 at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean wrapExceptions, System.Boolean skipCheckThis, System.Boolean fillCache) [0x00009] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/ReferenceSources/RuntimeType.cs:155 at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Boolean wrapExceptions, System.Threading.StackCrawlMark& stackMark) [0x00027] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/rttype.cs:5770 at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00039] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/activator.cs:206 at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/activator.cs:190 at System.Activator.CreateInstance (System.Type type) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/activator.cs:134 at Xamarin.Forms.DependencyService.Get[T] (Xamarin.Forms.DependencyFetchTarget fetchTarget) [0x00099] in D:\a\1\s\Xamarin.Forms.Core\DependencyService.cs:52 at FA.MainPage.InitializeMIDI () [0x00001] in D:\ProjectsVS19\FA DB\FA\FA\MainPage.xaml.cs:2581 at FA.MainPage..ctor () [0x001aa] in D:\ProjectsVS19\FA DB\FA\FA\MainPage.xaml.cs:213 at FA.App..ctor () [0x00025] in D:\ProjectsVS19\FA DB\FA\FA\App.xaml.cs:22 at FA.Droid.MainActivity.OnCreate (Android.OS.Bundle savedInstanceState) [0x0011e] in D:\ProjectsVS19\FA DB\FA\FA.Android\MainActivity.cs:93 at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x0000f] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.5(intptr,intptr,intptr)} System.Reflection.TargetInvocationException at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x00018] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/System.Reflection/RuntimeMethodInfo.cs:944 at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00095] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/ReferenceSources/RuntimeType.cs:185 at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean wrapExceptions, System.Boolean skipCheckThis, System.Boolean fillCache) [0x00009] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/ReferenceSources/RuntimeType.cs:155 at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Boolean wrapExceptions, System.Threading.StackCrawlMark& stackMark) [0x00027] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/rttype.cs:5770 at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00039] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/activator.cs:206 at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/activator.cs:190 at System.Activator.CreateInstance (System.Type type) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/activator.cs:134 at Xamarin.Forms.DependencyService.Get[T] (Xamarin.Forms.DependencyFetchTarget fetchTarget) [0x00099] in D:\a\1\s\Xamarin.Forms.Core\DependencyService.cs:52 at FA.MainPage.InitializeMIDI () [0x00001] in D:\ProjectsVS19\FA DB\FA\FA\MainPage.xaml.cs:2581 at FA.MainPage..ctor () [0x001aa] in D:\ProjectsVS19\FA DB\FA\FA\MainPage.xaml.cs:213 at FA.App..ctor () [0x00025] in D:\ProjectsVS19\FA DB\FA\FA\App.xaml.cs:22 at FA.Droid.MainActivity.OnCreate (Android.OS.Bundle savedInstanceState) [0x0011e] in D:\ProjectsVS19\FA DB\FA\FA.Android\MainActivity.cs:93 at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x0000f] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.5(intptr,intptr,intptr) BR, Stanislav сб, 31 окт. 2020 г. в 14:32, Tom M. via fluid-dev <fluid-dev@nongnu.org>: > > > 1) Not enough loud: > > It's not clear what you mean by "artifacts". Is it clipping? > Interruptions? Distortions? > > Ideally provide the broken audio rendering. But without the soundfont > and a test MIDI it's very hard to tell what's wrong. Try a different > audio driver. Or use the file renderer to write to a file and see > whether it reproduces the "artifacts". If yes, it might be a problem > with fluidsynth. If not, probably somewhere else in your android phone. > > > 2) I have tried both variants and don't hear any difference. > > audio.period-size influences the latency of the audio. If you are > suffering from interruptions, increase its value. > > Regarding the sample-rate: It would be really surprising if you heard > the difference between 44 and 48 kHz. > > > What is recommended approach? > > Set both values to what your device reports. > > > 3) > > That performance mode it passed as hint to Oboe. > > https://google.github.io/oboe/reference/classoboe_1_1_audio_stream_builder.html#a6cd1d65612e844e59da71a68ea0ab3ee > > We have no control what they make with it. You'll need to ask Oboe. > > > 4) libs for armeabi-v7a are not working. > > Where is it failing? In an emulator or on real hardware? Try to get a > more meaningful error. Watch out for inner exceptions. Double check that > all depending libs are available as well. > > > Tom > > _______________________________________________ > fluid-dev mailing list > fluid-dev@nongnu.org > https://lists.nongnu.org/mailman/listinfo/fluid-dev _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev