B4A Library Audio Serial Output library

gxlujd

Member
Licensed User
Longtime User
bug report


hello walterf25, Your AudioSerial library is very good, but there was a bug in the library file, demo program for the first time to send data and after sending data is not the same, I listen to the phone's speaker to contrast. Any baud rate, so this set has nothing to do with the baud rate, I think it should be 'AudioSerial.output (txtbox.Text)'.
In addition, I ask 'AudioSerial.SerialDAC' how to use?
my phone is lenovo P700.
 

nicieri

Active Member
Licensed User
Longtime User
Hi, Anyone know how to read the data from audio jack?

How can i use the audio jack for reciving data??

some like credit card reader? or any device required?

Thanks
 

Zeev Goldstein

Well-Known Member
Licensed User
Longtime User
hi

did anyone had any success reading data using this ?
i am trying to read a magnetic card but it crashes
 

Zeev Goldstein

Well-Known Member
Licensed User
Longtime User
audio serial - does it work ?

hi,

downloaded and tried it, yes - had to remove the manifest and icon files from the jar

but

it seems not to work or at least i couldn't see any result

when trying to click the button it crashed

did anyone managed to use it ? or any other similar library ? i need an urgent solution to read a magnetic card using an audio plug card reader (reader plugs to earphone jack)

thanks
 

raphaelcno

Active Member
Licensed User
Longtime User
did anyone managed to use it ? or any other similar library ? i need an urgent solution to read a magnetic card using an audio plug card reader (reader plugs to earphone jack)

As I understand from the first post, the library can be used to send serial data, not to receive data. So I think it will be difficult to read a card or anything else with this library.

Do you have a link to a datasheet or user manual of this card reader?
 

Zeev Goldstein

Well-Known Member
Licensed User
Longtime User
thanks for the reply
ok, got it.

i have a card reader that plugs to the earphone jack.
i know there are apps out there that reads the mag stripe through it for example credit card
this is what i am looking for
any ideas ?

thanks again
 

walterf25

Expert
Licensed User
Longtime User

ralphie911

Member
Licensed User
Longtime User
Single Channel output

I am planning on using the Headphone jack with this library.

Everything is working great but is it possible to restrict the output data to only the left or the right audio channel?
 

GKCS

Member
Licensed User
Longtime User
Hi Walter,

I am just "playing" around with this great little library. Together with a standard LM324N OpAmp and 2 simple resistors, all works perfect. Speed up to 9600 baud works stable without any issuues.

I know, there is an USB-FTDI Wrapper, or Bluetooth to RS232, to archieve a serial connection. But both of them do have its limits too. Either they require a minimum Android version (3.x) or you have to deal with a much more complext BT procedure until all works as it should. Also, many times a cable transmission is much more reliable than any wireless (BT) way. So, besides the mentioned USB/BT ways, this audio-serial library is a very easy to implement but yet stable way to connect nearly any Android device to external serial hardware.

There is still an open question for me. "extended ASCII" codes ...
Unfortunately, Android uses UTF-8 as encoding schema for strings. So, when using AudioSerial.output(String)
you are NOT able to send plain extended ASCII characters, ASCII 128 to ASCII 255
B4A/Android always send this characters as 2 bytes UTF-8 encoded string.

Unfortunately, many external serial hardware will use the full 8bit ASCII range 0-255 ....

Question, is there any chance in the future, to change

AudioSerial.output(String) to
to
AudioSerial.output(BytesArray())

If using a Bytes Array, it seems that B4A can also transcode it to ISO-8859-1, which includes single bytes extended ASCII characters.

Many thanks for a great little library

Gerry
 

GKCS

Member
Licensed User
Longtime User
Hi Erel,
the issue is NOT, how to convert an existing String into a Byte-Array.
The issue is the STRING itself, which can't contain characters, encoded as extended ASCII codes.
This SerialAudio Library uses
AudioSerial.output(String) with STRING as parameter. That's why I ask, if there is any chance to change this parameter to
AudioSerial.output(ByteArray())
Only in this case, you would be able to send extended ASCII codes128 to 255. Otherwise, send as STRING, all extended ASCII codes are transmitted as 2Bytes UTF8 ....
Thanks a lot

Gerry
 

walterf25

Expert
Licensed User
Longtime User
Hi Walter,
Does the library work on the NXP Quick-Jack demo board?
Thanks
Hi Dale Lin, to be honest i'm not sure if it will work, i never tried it or even heard of this board until today, by looking at the schematic i could say it could work but i can't say for sure. If you decide to give it a try and it works please give us some feedback, i'm interested to know if it works.

Cheers,
Walter
 

walterf25

Expert
Licensed User
Longtime User
Almost all links are broken.
Also, is there way to make it two way? To add RX
This is an old library and I no longer maintain it, it was one of the first libraries I ever wrote when i started learning B4X, why not use a Bluetooth Library it seems to me it would be easier for serial communication, or do you really need to have hard wire serial communication?
 

hayk

Member
I want to make a chat through walkie talkies, using audio chanel. So this is better option.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…