willblaschko / AlexaAndroid

A library and sample app to abstract access to the Amazon Alexa service for Android applications.
GNU General Public License v2.0
280 stars 132 forks source link

"read me a book from kindle" command is not playing the book complete , No response after some time #124

Closed rohith-krish closed 6 years ago

rohith-krish commented 6 years ago

Hi @willblaschko , @JeremiahStephenson , @jorgesilva , @mattgmg1990 , @quangson91

Using this sample application when @ I try with the command 'read me a book from kindle', the response is

{"directive":{"header":{"namespace":"AudioPlayer","name":"Play","messageId":"01b206f3-e6d6-49d8-8b1c-960ae993c6ee","dialogRequestId":"dialogRequest-321"},"payload":{"audioItem":{"audioItemId":"ebotts_audio_resource_group_idb8d70c0a-eae0-4a8d-8a80-ac094c133251","stream":{"offsetInMilliseconds":0,"expiryTime":"2017-11-21T10:12:47+0000","url":"https://tinytts-eu-west-1.amazon.com/2/6200137c-cea4-11e7-8a5a-c55df8489cfa-fa3d90/2/1511345507020/efb0403784dce7a05f52c7766f934b92d615407b53df7314cc753b193cf60cc5/resource.mp3","token":"amzn1.as-ct.v1.EBottsClientId#ACRI#url#ACRI#b8d70c0a-eae0-4a8d-8a80-ac094c133251:9187"}},"playBehavior":"REPLACE_ALL"}}}

The URL played successfully and on completion, i will send the intent with header 'PlaybackFinished'. But after that, no response is received.

In echo dot (using the same account) the playback continues until the user stops it.

prasannakumark commented 6 years ago

+1

rohith-krish commented 6 years ago

The issue will be fixed if we send the PlaybackNearlyFinished event to AVS , The next URL for playback is receiving only after sending the PlaybackNearlyFinished.

prasannakumark commented 6 years ago

Thanks @rohith-krish, I am looking into the issue. Is that PlaybackNearlyFinished for SpeechSynthesizer/AudioPlayer?

rohith-krish commented 6 years ago

Yes PlaybackNearlyFinished event

willblaschko commented 6 years ago

Just for reference, PlaybackNearlyFinished needs to support both AvsPlayAudioItem and AvsPlayRemoteItem for this use case to work.

prasannakumark commented 6 years ago

thanks @willblaschko, yes implemented for AvsPlayRemoteItem also. Its working pretty good. I think PlaybackNearlyFinished needs to support AvsPlayContentItem for this use case also.