B4J Question jaudiotagger cont: setField method not matched

GuyBooth

Active Member
Licensed User
Longtime User
Following up on a previous post (https://www.b4x.com/android/forum/forums/b4j-questions.54/?prefix_id=16), I think I am now consistently reading all variations of ID3 tags I need to.
My latest problem is how to change a tag so I can save it back into the music file.
From all the API information (at www.jthink.net/jaudiotagger/javadoc/index.html) which is large and complex, and the java examples I have found (http://www.javased.com/index.php?api=org.jaudiotagger.audio.AudioFileIO among others) I feel that where for retrieving a specific tag I successfully use:
B4X:
joTag.RunMethod("getFirst", Array(TagRecord.joTagKey))
or
B4X:
joTag.RunMethod("getFirstField", Array(TagRecord.joTagKey))
to change the tag I should be able to use:
B4X:
joTag.RunMethod("setField", Array(TagRecord.joTagKey, TagRecord.PGValue))
However, this doesn't work - it produces a log error
B4X:
java.lang.RuntimeException: Method: setField not matched.
I have tried every variation I can think of with no success. The error message itself makes me think that there is nothing wrong with the method, but I have no idea what is wrong with statement I am using or the parameters I am passing in.
I am attaching a test project that demonstrates the problem, I would appreciate any insight from someone who understands implementing java code in B4J - apparently a weakness of mine!
 

Attachments

  • AudioTaggerTest.zip
    5.2 KB · Views: 183
Top