to clarify: the runtime permissions could affect aspects of
the app not related to TTS. i don't know what your app does
(beyond speaking letters and numbers). in the logs tab of
the IDE there is a "permissions" button. you click on it to see if
your app requires "dangerous" permissions. you would then
need to edit the manifest and, perhaps, add a runtime
permissions dialog to the app. if permissions are required,
the app would appear to run but you would see something in
the log about unsatisfied permissions. yeah, my thought was that
if some TTS apps run ok on the device, those apps were correctly
handling permissions required on post android 5 models
regarding TTS, i assume you know you're supposed to
wait until the engine has synthesized an utterance and
triggers the "ready" event. there may have been changes
to the library over the years reflecting how strongly that
rule is enforced.
and as for logging, i was slightly mistaken. the TTS library
raises the "ready" event. within that sub, you simply put
' somewhere: tts.Initialize("mytts")
' somewhere else:
Sub mytts_Ready (Success As Boolean)
Log("is ready?: " & success)
End Sub
that tells you the engine, at least, is working on your 7" tablet.
where i was mistaken regards what
happens when the engine has finished speaking. the TTS
library does not raise an event at that time. such an event
occurs in android's TTS api (upon which our TTS library is
based). but our library doesn't expose that part. there is
another TTS library (called TTSID),which may address
that. i remember trying it once. it's somewhat more involved
than our regular TTS library. there are some issues
about reliably capturing exactly what happens when the engine
stops talking. perhaps that is why it was not included in our TTS library.