journeyapps / zxing-android-embedded

Barcode scanner library for Android, based on the ZXing decoder
https://journeyapps.com/
Apache License 2.0
5.73k stars 1.27k forks source link

Beep sound not working #330

Open mcebular opened 6 years ago

mcebular commented 6 years ago

Description of the problem:

On Samsung Xcover 4, playBeepSound() works somewhat randomly (sometimes it beeps, sometimes it doesn't, sometimes it does a some kind of half-beep)

Which library version are you using? 3.5.0.

Which phone/tablet are you using, and which Android version does it run? Samsung Xcover 4, Android 7.0

Does the same happen on other devices or an emulator? Nope, works ok.

Can you reproduce the issue in the sample project included with the library? If not, can you provide your own sample project or sample code that produces this error? Yes, reproducable in sample app.

In the case of an error do you have a stack trace or adb logs?

09-25 16:37:36.258 20009-20009/example.zxing V/MediaPlayer: constructor
09-25 16:37:36.259 20009-20009/example.zxing V/MediaPlayer: setListener
09-25 16:37:36.260 20009-20009/example.zxing V/MediaPlayer-JNI: setAudioStreamType: 3
09-25 16:37:36.260 20009-20009/example.zxing V/MediaPlayer: MediaPlayer::setAudioStreamType
09-25 16:37:36.260 20009-20009/example.zxing V/MediaPlayer-JNI: setDataSourceFD: fd 119
09-25 16:37:36.260 20009-20009/example.zxing V/MediaPlayer: setDataSource(119, 68376, 6401)
09-25 16:37:36.263 20009-20009/example.zxing V/MediaPlayer-JNI: setVolume: left 0.100000  right 0.100000
09-25 16:37:36.263 20009-20009/example.zxing V/MediaPlayer: MediaPlayer::setVolume(0.100000, 0.100000)
09-25 16:37:36.264 20009-20009/example.zxing V/MediaPlayer: setVideoSurfaceTexture
09-25 16:37:36.264 20009-20009/example.zxing V/MediaPlayer: prepare
09-25 16:37:36.272 20009-21182/example.zxing V/MediaPlayer: message received msg=200, ext1=10973, ext2=0
09-25 16:37:36.272 20009-21182/example.zxing W/MediaPlayer: info/warning (10973, 0)
09-25 16:37:36.272 20009-21182/example.zxing V/MediaPlayer: callback application
09-25 16:37:36.272 20009-21182/example.zxing V/MediaPlayer: back from callback
09-25 16:37:36.274 20009-20022/example.zxing V/MediaPlayer: message received msg=1, ext1=0, ext2=0
09-25 16:37:36.274 20009-20022/example.zxing V/MediaPlayer: prepared
09-25 16:37:36.274 20009-20022/example.zxing V/MediaPlayer: signal application thread
09-25 16:37:36.274 20009-20022/example.zxing V/MediaPlayer: callback application
09-25 16:37:36.274 20009-20009/example.zxing V/MediaPlayer: prepare complete - status=0
09-25 16:37:36.274 20009-20009/example.zxing D/MediaPlayer: setSubtitleAnchor in MediaPlayer
09-25 16:37:36.274 20009-20022/example.zxing V/MediaPlayer: back from callback
09-25 16:37:36.275 20009-20009/example.zxing V/MediaPlayer: invoke 68
09-25 16:37:36.276 20009-20009/example.zxing V/MediaPlayer-JNI: start
09-25 16:37:36.276 20009-20009/example.zxing V/MediaPlayer: start
09-25 16:37:36.278 20009-20009/example.zxing D/skia: onFlyCompress
09-25 16:37:36.324 20009-20022/example.zxing V/MediaPlayer: message received msg=6, ext1=0, ext2=0
09-25 16:37:36.324 20009-20022/example.zxing V/MediaPlayer: unrecognized message: (6, 0, 0)
09-25 16:37:36.324 20009-20022/example.zxing V/MediaPlayer: callback application
09-25 16:37:36.324 20009-20022/example.zxing V/MediaPlayer: back from callback
09-25 16:37:36.324 20009-21015/example.zxing D/DecoderThread: Found barcode in 29 ms
09-25 16:37:36.329 20009-20009/example.zxing V/MediaPlayer: invoke 68
09-25 16:37:36.345 20009-20009/example.zxing V/MediaPlayer-JNI: getCurrentPosition: 0 (msec)
09-25 16:37:36.373 20009-21015/example.zxing D/DecoderThread: Found barcode in 17 ms
09-25 16:37:36.381 20009-20018/example.zxing V/MediaPlayer-JNI: native_finalize
09-25 16:37:36.381 20009-20018/example.zxing W/MediaPlayer-JNI: MediaPlayer finalized without being released
09-25 16:37:36.381 20009-20018/example.zxing V/MediaPlayer-JNI: release
09-25 16:37:36.381 20009-20018/example.zxing V/MediaPlayer: setListener
09-25 16:37:36.381 20009-20018/example.zxing V/MediaPlayer: disconnect
09-25 16:37:36.435 20009-21015/example.zxing D/DecoderThread: Found barcode in 21 ms
09-25 16:37:36.437 20009-20018/example.zxing V/MediaPlayer: destructor
09-25 16:37:36.437 20009-20018/example.zxing V/MediaPlayer: disconnect

Suspecting something with 09-25 16:37:36.272 20009-21182/example.zxing W/MediaPlayer: info/warning (10973, 0)

mcebular commented 6 years ago

I was able to fix this problem by replacing MediaPlayer with SoundPool as seen here: https://github.com/mc0239/zxing-android-embedded/commit/29e9fe89c7a7c5cb0b4be2fff8a47b979f4f49c8