HERE SDK Navigation sound is not playing

2019-09-09 19:30发布

问题:

I have been trying to resolve this issue but it seems the QCMediaPlayer is not present on my phone. I can here the warning tone's of the speed limit, but i cannot hear the turn by turn info. Is there anyone who has its own implementation? Should I implement my own TTS for the maneuvers.

Error in MediaPlayer : 03-23 10:21:28.205 31213-31509/com.maps.navi E/ExtMediaPlayer-JNI: QCMediaPlayer could not be located.... 03-23 10:21:28.205 31213-31509/com.maps.navi E/MediaPlayer-JNI: QCMediaPlayer mediaplayer NOT present

Attached is the logs that I got from my device.

03-23 10:15:47.955 23339-23339/? I/art: Late-enabling -Xcheck:jni 03-23 10:15:48.020 23339-23339/com.maps.navi W/ActivityThread: Application com.maps.navi can be debugged on port 8100... 03-23 10:15:48.058 23339-23339/com.maps.navi D/ContextHelper: convertTheme. context->name=com.maps.navi themeResourceId=2131361921 03-23 10:15:48.070 23339-23339/com.maps.navi I/PhoneWindow: [generateLayout] setColorNavigationBar => color=0x ff000001 03-23 10:15:48.076 23339-23339/com.maps.navi D/PhoneWindowEx: [PWEx][generateLayout] setNavigationBarColor2 : colors=0xff000000 03-23 10:15:48.076 23339-23339/com.maps.navi I/PhoneWindow: [setNavigationBarColor2] color=0x ff000000 03-23 10:15:48.223 23339-23339/com.maps.navi I/CliptrayUtils: CliptrayUtils created!! mTextView = android.support.v7.widget.AppCompatEditText{3a2613d0 VFED..C. ......ID 0,0-0,0 #7f0e0055 app:id/search_address} 03-23 10:15:48.240 23339-23339/com.maps.navi D/com.maps.navi.NaviController: controller get instance! 03-23 10:15:48.241 23339-23339/com.maps.navi D/com.maps.navi.NaviMainActivity: Using default GPS location. 03-23 10:15:48.266 23339-23339/com.maps.navi D/com.maps.navi.NaviMainActivity: Back stack count 0 03-23 10:15:48.430 23339-23339/com.maps.navi D/com.maps.navi.NaviMainActivity: Using GPS location. 03-23 10:15:48.441 23339-23339/com.maps.navi D/BubblePopupHelper: isShowingBubblePopup : false 03-23 10:15:48.445 23339-23429/com.maps.navi D/OpenGLRenderer: Render dirty regions requested: true 03-23 10:15:48.446 23339-23429/com.maps.navi I/Adreno-EGL: <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LA.BF.1.1.1_RB1.05.00.02.042.013_msm8974_LA.BF.1.1.1_RB1__release_AU () OpenGL ES Shader Compiler Version: E031.25.03.00 Build Date: 01/21/15 Wed Local Branch: mybranch7061829 Remote Branch: quic/LA.BF.1.1.1_rb1.7 Local Patches: NONE Reconstruct Branch: AU_LINUX_ANDROID_LA.BF.1.1.1_RB1.05.00.02.042.013 + NOTHING 03-23 10:15:48.447 23339-23429/com.maps.navi I/OpenGLRenderer: Initialized EGL, version 1.4 03-23 10:15:48.464 23339-23429/com.maps.navi D/OpenGLRenderer: Enabling debug mode 0 03-23 10:15:48.477 23339-23339/com.maps.navi D/Atlas: Validating map... 03-23 10:15:48.592 23339-23339/com.maps.navi D/BubblePopupHelper: isShowingBubblePopup : false 03-23 10:15:48.592 23339-23339/com.maps.navi D/BubblePopupHelper: isShowingBubblePopup : false 03-23 10:15:49.777 23339-23339/com.maps.navi I/Choreographer: Skipped 77 frames! The application may be doing too much work on its main thread. 03-23 10:15:49.905 23339-23339/com.maps.navi I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@2bc7f1e1 time:70821643 03-23 10:15:49.961 23339-23525/com.maps.navi D/NetworkProtocol: NetworkProtocol::NetworkProtocol 03-23 10:15:50.165 23339-23586/com.maps.navi I/art: Note: end time exceeds epoch: 03-23 10:15:50.170 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature Offline Maps With ODML 03-23 10:15:50.170 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature Advanced Drive Navigation 03-23 10:15:50.170 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature Offline Car Routing 03-23 10:15:50.170 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature Offline Pedestrian Routing 03-23 10:15:50.170 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature Offline Transit Routing 03-23 10:15:50.170 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature Offline Geocoding 03-23 10:15:50.170 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature Offline Reverse Geocoding 03-23 10:15:50.170 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature Offline Place Search 03-23 10:15:50.170 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature Offline Category Search 03-23 10:15:50.171 23339-23525/com.maps.navi I/HERESDK: HERESDK Feature 3D Landmarks 03-23 10:15:50.485 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglChooseConfig:917>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglChooseConfig:917>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.486 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglChooseConfig:917>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglChooseConfig:917>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.487 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.488 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.488 23339-23607/com.maps.navi W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:632>: EGL_BAD_ATTRIBUTE 03-23 10:15:50.510 23339-23339/com.maps.navi I/CliptrayUtils: CliptrayUtils created!! mTextView = android.widget.TextView{1cd961a8 V.ED.... ......ID 0,0-0,0} 03-23 10:15:50.512 23339-23339/com.maps.navi D/com.maps.navi.NaviMainActivity: Map engine is initialized! 03-23 10:15:50.513 23339-23339/com.maps.navi D/com.maps.navi.NaviController: Clean NaviController 03-23 10:15:50.513 23339-23339/com.maps.navi D/com.maps.navi.NaviController: Initialize controller! 03-23 10:15:50.513 23339-23339/com.maps.navi D/com.maps.navi.NaviController: Initializing Map 03-23 10:15:50.513 23339-23339/com.maps.navi D/com.maps.navi.NaviController: Initialize Thread! 03-23 10:15:50.514 23339-23339/com.maps.navi D/com.maps.navi.NaviController: Thread started! 03-23 10:15:50.533 23339-23339/com.maps.navi D/libc-netbsd: [getaddrinfo]: hostname=xxxxx; servname=(null); cache_mode=(null), netid=0; mark=0 03-23 10:15:50.533 23339-23339/com.maps.navi D/libc: getaddrinfo called from pid =23339 03-23 10:15:50.533 23339-23339/com.maps.navi D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=xxxxx; ai_flags=4; ai_family=0 03-23 10:15:50.534 23339-23339/com.maps.navi D/libc-netbsd: [getaddrinfo]: hostname=xxxxx; servname=(null); cache_mode=(null), netid=0; mark=0 03-23 10:15:50.534 23339-23339/com.maps.navi D/libc: getaddrinfo called from pid =23339 03-23 10:15:50.534 23339-23339/com.maps.navi D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=xxxxx; ai_flags=1024; ai_family=0 03-23 10:15:50.574 23339-23339/com.maps.navi D/libc: dnsproxy getaddrinfo returns 0 03-23 10:15:50.574 23339-23339/com.maps.navi I/System.out: propertyValue:false 03-23 10:15:50.597 23339-23339/com.maps.navi D/com.maps.navi.NaviMainActivity: onGetMapPackages 03-23 10:15:50.731 23339-23607/com.maps.navi I/TextToSpeech: Sucessfully bound to com.lge.tts.sfplus 03-23 10:15:50.785 23339-23339/com.maps.navi I/art: Thread[1,tid=23339,WaitingForJniOnLoad,Thread*=0xb4827800,peer=0x7608ab28,"main"] recursive attempt to load library "/system/lib/libhook_jni.so" 03-23 10:15:50.795 23339-23339/com.maps.navi E/MediaProfilesEx-JNI: register_com_lge_media_MediaProfilesEx 03-23 10:15:50.797 23339-23339/com.maps.navi E/MediaRecorderEx-JNI: register_com_lge_media_MediaRecorderEx 03-23 10:15:50.797 23339-23339/com.maps.navi D/AudioSystemEx: register_com_lge_media_LGAudioSystem 03-23 10:15:50.797 23339-23339/com.maps.navi E/SurfaceControlEx: register_com_lge_view_SurfaceControlEx 03-23 10:15:50.798 23339-23339/com.maps.navi I/art: Thread[1,tid=23339,WaitingForJniOnLoad,Thread*=0xb4827800,peer=0x7608ab28,"main"] recursive attempt to load library "/system/lib/libhook_jni.so" 03-23 10:15:50.798 23339-23339/com.maps.navi D/LGMtpDatabaseJNI: register_android_mtp_LGMtpDatabase 03-23 10:15:50.799 23339-23339/com.maps.navi I/art: Thread[1,tid=23339,WaitingForJniOnLoad,Thread*=0xb4827800,peer=0x7608ab28,"main"] recursive attempt to load library "/system/lib/libhook_jni.so" 03-23 10:15:50.801 23339-23339/com.maps.navi D/LGMtpServerJNI: register_android_mtp_LGMtpServer 03-23 10:15:50.802 23339-23339/com.maps.navi I/art: Thread[1,tid=23339,WaitingForJniOnLoad,Thread*=0xb4827800,peer=0x7608ab28,"main"] recursive attempt to load library "/system/lib/libhook_jni.so" 03-23 10:15:50.802 23339-23339/com.maps.navi E/MediaPlayerEx-jni: register_com_lge_view_MediaPlayerEx 03-23 10:15:50.803 23339-23339/com.maps.navi I/art: Thread[1,tid=23339,WaitingForJniOnLoad,Thread*=0xb4827800,peer=0x7608ab28,"main"] recursive attempt to load library "/system/lib/libhook_jni.so" 03-23 10:15:50.928 23339-23339/com.maps.navi D/com.maps.navi.NaviTransformListener: iZoom Level 15.0 iRange NONE 03-23 10:15:50.928 23339-23339/com.maps.navi D/com.maps.navi.NaviTransformListener: currentRange LEVEL_5 03-23 10:15:50.929 23339-23339/com.maps.navi D/com.maps.navi.NaviTransformListener: Zoom Level 15.0 Range NONE 03-23 10:15:50.989 23339-23339/com.maps.navi I/TextToSpeech: Connected to ComponentInfo{com.lge.tts.sfplus/com.lge.tts.sfplus.LGSFTTSService} 03-23 10:15:50.998 23339-23339/com.maps.navi D/com.maps.navi.NaviTransformListener: onMapTransformStart 03-23 10:15:51.000 23339-23339/com.maps.navi D/com.maps.navi.NaviTransformListener: onMapTransformEnd 15.0 03-23 10:15:51.000 23339-23339/com.maps.navi D/com.maps.navi.NaviTransformListener: iZoom Level 15.0 iRange LEVEL_5 03-23 10:15:51.000 23339-23339/com.maps.navi D/com.maps.navi.NaviTransformListener: currentRange LEVEL_5 03-23 10:15:51.001 23339-23339/com.maps.navi D/com.maps.navi.NaviTransformListener: onMapTransformEnd not requesting to service 15.0 03-23 10:15:51.030 23339-23627/com.maps.navi I/TextToSpeech: Set up connection to ComponentInfo{com.lge.tts.sfplus/com.lge.tts.sfplus.LGSFTTSService} 03-23 10:15:53.654 23339-23339/com.maps.navi D/com.maps.navi.NaviMainActivity: onGetMapPackagesComplete OPERATION_SUCCESSFUL 03-23 10:21:13.953 31213-31213/com.maps.navi I/HERESDK: HERESDK Feature Drive Navigation 03-23 10:21:14.007 31213-31213/com.maps.navi D/com.maps.navi.NaviTransformListener: onMapTransformStart 03-23 10:21:14.318 31213-31213/com.maps.navi D/com.maps.navi.navigation.NaviNavigationController: maneuverListener 03-23 10:21:17.816 31213-31229/com.maps.navi V/AudioSystem: ioConfigChanged() event 0, ioHandle 2 03-23 10:21:17.816 31213-31229/com.maps.navi V/AudioSystem: ioConfigChanged() new output samplingRate 48000, format 0x5 channel mask 0x3 frameCount 960 latency 50 03-23 10:21:17.817 31213-31230/com.maps.navi V/AudioSystem: ioConfigChanged() event 0, ioHandle 4 03-23 10:21:17.817 31213-31230/com.maps.navi V/AudioSystem: ioConfigChanged() new output samplingRate 48000, format 0x1 channel mask 0x3 frameCount 960 latency 80 03-23 10:21:17.818 31213-31509/com.maps.navi V/MediaPlayer[Native]: setListener 03-23 10:21:17.818 31213-31509/com.maps.navi E/ExtMediaPlayer-JNI: QCMediaPlayer could not be located.... 03-23 10:21:17.818 31213-31509/com.maps.navi E/MediaPlayer-JNI: QCMediaPlayer mediaplayer NOT present 03-23 10:21:17.818 31213-31509/com.maps.navi V/MediaPlayer[Native]: MediaPlayer::setAudioStreamType 03-23 10:21:17.821 31213-31509/com.maps.navi V/MediaPlayer[Native]: MediaPlayer::setVolume(0.900000, 0.900000) 03-23 10:21:17.821 31213-31509/com.maps.navi D/MediaPlayer: setDataSource by path 03-23 10:21:17.821 31213-31509/com.maps.navi D/MediaPlayer: setDataSource by fd 03-23 10:21:17.824 31213-31509/com.maps.navi V/MediaPlayer[Native]: setDataSource(140, 0, 576460752303423487) 03-23 10:21:17.888 31213-31229/com.maps.navi V/MediaPlayer[Native]: message received msg=8, ext1=0, ext2=0 03-23 10:21:17.888 31213-31229/com.maps.navi V/MediaPlayer[Native]: notify(8, 0, 0) callback on disconnected mediaplayer 03-23 10:21:17.891 31213-31509/com.maps.navi V/MediaPlayer[Native]: setVideoSurfaceTexture 03-23 10:21:17.891 31213-31509/com.maps.navi V/MediaPlayer[Native]: prepare 03-23 10:21:17.908 31213-31230/com.maps.navi V/MediaPlayer[Native]: message received msg=5, ext1=0, ext2=0 03-23 10:21:17.908 31213-31230/com.maps.navi V/MediaPlayer[Native]: New video size 0 x 0 03-23 10:21:17.909 31213-31230/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:17.909 31213-31230/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:17.909 31213-31230/com.maps.navi V/MediaPlayer[Native]: message received msg=1, ext1=0, ext2=0 03-23 10:21:17.909 31213-31230/com.maps.navi V/MediaPlayer[Native]: prepared 03-23 10:21:17.909 31213-31230/com.maps.navi V/MediaPlayer[Native]: signal application thread 03-23 10:21:17.909 31213-31230/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:17.909 31213-31230/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:17.909 31213-31509/com.maps.navi V/MediaPlayer[Native]: prepare complete - status=0 03-23 10:21:17.909 31213-31509/com.maps.navi E/MediaPlayer: Should have subtitle controller already set 03-23 10:21:17.909 31213-31509/com.maps.navi V/MediaPlayer[Native]: start 03-23 10:21:17.914 31213-31229/com.maps.navi V/MediaPlayer[Native]: message received msg=6, ext1=0, ext2=0 03-23 10:21:17.917 31213-31213/com.maps.navi E/MediaPlayer: Should have subtitle controller already set 03-23 10:21:17.919 31213-31509/com.maps.navi V/MediaPlayer[Native]: getDuration_l 03-23 10:21:17.919 31213-31213/com.maps.navi D/com.maps.navi.navigation.NaviNavigationController: audioFeedbackListener onAudioStart 03-23 10:21:17.920 31213-31229/com.maps.navi V/MediaPlayer[Native]: unrecognized message: (6, 0, 0) 03-23 10:21:17.920 31213-31229/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:17.920 31213-31229/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:17.920 31213-31213/com.maps.navi V/MediaPlayer[Native]: getCurrentPosition 03-23 10:21:17.922 31213-31213/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:18.872 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:18.923 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:18.973 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:19.024 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:19.074 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:19.090 31213-1150/com.maps.navi V/MediaPlayer[Native]: message received msg=2, ext1=0, ext2=0 03-23 10:21:19.090 31213-1150/com.maps.navi V/MediaPlayer[Native]: playback complete 03-23 10:21:19.090 31213-1150/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:19.091 31213-1150/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:19.091 31213-1150/com.maps.navi V/MediaPlayer[Native]: message received msg=7, ext1=0, ext2=0 03-23 10:21:19.091 31213-1150/com.maps.navi V/MediaPlayer[Native]: unrecognized message: (7, 0, 0) 03-23 10:21:19.091 31213-1150/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:19.091 31213-1150/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:19.105 31213-31213/com.maps.navi V/MediaPlayer[Native]: getCurrentPosition 03-23 10:21:19.109 31213-31213/com.maps.navi V/MediaPlayer[Native]: isPlaying: 0 03-23 10:21:19.125 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 0 03-23 10:21:19.125 31213-31509/com.maps.navi V/MediaPlayer[Native]: setListener 03-23 10:21:19.127 31213-31509/com.maps.navi V/MediaPlayer[Native]: disconnect 03-23 10:21:19.131 31213-31509/com.maps.navi V/MediaPlayer[Native]: destructor 03-23 10:21:19.132 31213-31509/com.maps.navi V/MediaPlayer[Native]: disconnect 03-23 10:21:19.133 31213-31213/com.maps.navi D/com.maps.navi.navigation.NaviNavigationController: audioFeedbackListener onAudioEnd 03-23 10:21:27.175 31213-31213/com.maps.navi D/com.maps.navi.navigation.NaviNavigationController: maneuverListener 03-23 10:21:28.202 31213-31509/com.maps.navi V/MediaPlayer[Native]: constructor 03-23 10:21:28.205 31213-31509/com.maps.navi V/MediaPlayer[Native]: setListener 03-23 10:21:28.205 31213-31509/com.maps.navi E/ExtMediaPlayer-JNI: QCMediaPlayer could not be located.... 03-23 10:21:28.205 31213-31509/com.maps.navi E/MediaPlayer-JNI: QCMediaPlayer mediaplayer NOT present 03-23 10:21:28.205 31213-31509/com.maps.navi V/MediaPlayer[Native]: MediaPlayer::setAudioStreamType 03-23 10:21:28.206 31213-31509/com.maps.navi V/MediaPlayer[Native]: MediaPlayer::setVolume(0.900000, 0.900000) 03-23 10:21:28.206 31213-31509/com.maps.navi D/MediaPlayer: setDataSource by path 03-23 10:21:28.207 31213-31509/com.maps.navi D/MediaPlayer: setDataSource by fd 03-23 10:21:28.207 31213-31509/com.maps.navi V/MediaPlayer[Native]: setDataSource(167, 0, 576460752303423487) 03-23 10:21:28.212 31213-31230/com.maps.navi V/MediaPlayer[Native]: message received msg=8, ext1=0, ext2=0 03-23 10:21:28.212 31213-31230/com.maps.navi V/MediaPlayer[Native]: notify(8, 0, 0) callback on disconnected mediaplayer 03-23 10:21:28.212 31213-31509/com.maps.navi V/MediaPlayer[Native]: setVideoSurfaceTexture 03-23 10:21:28.212 31213-31509/com.maps.navi V/MediaPlayer[Native]: prepare 03-23 10:21:28.232 31213-31229/com.maps.navi V/MediaPlayer[Native]: message received msg=5, ext1=0, ext2=0 03-23 10:21:28.232 31213-31229/com.maps.navi V/MediaPlayer[Native]: New video size 0 x 0 03-23 10:21:28.232 31213-31229/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:28.232 31213-31229/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:28.232 31213-31229/com.maps.navi V/MediaPlayer[Native]: message received msg=1, ext1=0, ext2=0 03-23 10:21:28.232 31213-31229/com.maps.navi V/MediaPlayer[Native]: prepared 03-23 10:21:28.232 31213-31229/com.maps.navi V/MediaPlayer[Native]: signal application thread 03-23 10:21:28.232 31213-31229/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:28.232 31213-31509/com.maps.navi V/MediaPlayer[Native]: prepare complete - status=0 03-23 10:21:28.232 31213-31229/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:28.232 31213-31509/com.maps.navi E/MediaPlayer: Should have subtitle controller already set 03-23 10:21:28.233 31213-31213/com.maps.navi E/MediaPlayer: Should have subtitle controller already set 03-23 10:21:28.233 31213-31213/com.maps.navi D/com.maps.navi.navigation.NaviNavigationController: audioFeedbackListener onAudioStart 03-23 10:21:28.233 31213-31509/com.maps.navi V/MediaPlayer[Native]: start 03-23 10:21:28.237 31213-31230/com.maps.navi V/MediaPlayer[Native]: message received msg=6, ext1=0, ext2=0 03-23 10:21:28.246 31213-31230/com.maps.navi V/MediaPlayer[Native]: unrecognized message: (6, 0, 0) 03-23 10:21:28.246 31213-31230/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:28.247 31213-31230/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:28.247 31213-31509/com.maps.navi V/MediaPlayer[Native]: getDuration_l 03-23 10:21:28.248 31213-31213/com.maps.navi V/MediaPlayer[Native]: getCurrentPosition 03-23 10:21:28.250 31213-31213/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:29.200 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:29.250 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:29.301 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:29.352 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:29.402 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 1 03-23 10:21:29.417 31213-31229/com.maps.navi V/MediaPlayer[Native]: message received msg=2, ext1=0, ext2=0 03-23 10:21:29.417 31213-31229/com.maps.navi V/MediaPlayer[Native]: playback complete 03-23 10:21:29.417 31213-31229/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:29.417 31213-31229/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:29.417 31213-31229/com.maps.navi V/MediaPlayer[Native]: message received msg=7, ext1=0, ext2=0 03-23 10:21:29.417 31213-31229/com.maps.navi V/MediaPlayer[Native]: unrecognized message: (7, 0, 0) 03-23 10:21:29.417 31213-31229/com.maps.navi V/MediaPlayer[Native]: callback application 03-23 10:21:29.417 31213-31229/com.maps.navi V/MediaPlayer[Native]: back from callback 03-23 10:21:29.417 31213-31213/com.maps.navi V/MediaPlayer[Native]: getCurrentPosition 03-23 10:21:29.417 31213-31213/com.maps.navi V/MediaPlayer[Native]: isPlaying: 0 03-23 10:21:29.453 31213-31509/com.maps.navi V/MediaPlayer[Native]: isPlaying: 0 03-23 10:21:29.453 31213-31509/com.maps.navi V/MediaPlayer[Native]: setListener 03-23 10:21:29.453 31213-31509/com.maps.navi V/MediaPlayer[Native]: disconnect 03-23 10:21:29.456 31213-31509/com.maps.navi V/MediaPlayer[Native]: destructor 03-23 10:21:29.456 31213-31509/com.maps.navi V/MediaPlayer[Native]: disconnect

Thanks!

回答1:

Generally, the MobileSDK by HERE is using the system TTS engine that's setup on your Android. So please make sure your Android has a TTS engine installed and set (often this is Google TTS, some OEMs don't set a engine like my Sony Z5, or some have another one, like LG with sfplus for example).

Once Android has the TTS capabilities, the flow should look like following on HERE SDK side:

  1. Check the already installed TTS Skins of the HERE SDK:

List localInstalledSkins = VoiceCatalog.getInstance().getLocalVoiceSkins();

If you voice you want is already downloaded locally, jump directly to 4. otherwise continue with next step.

  1. Get the voice catalog from the HERE Servers:

VoiceCatalog.getInstance().downloadCatalog(VoiceCatalog.OnDownloadDoneListener)

In the listener callback you can query the list of available language for download via:

List packages = VoiceCatalog.getInstance().getCatalogList();

  1. Download a VoiceSkin you wanna play:

VoiceCatalog.getInstance().downloadVoice(skin_id_from_catalog_you_want_to_use, VoiceCatalog.OnDownloadDoneListener)

Make sure the listener returns with success before you continue with next steps.

  1. Set the downloaded voice skin for navigation:

NavigationManager.getInstance().setVoiceSkin(VoiceCatalog.getInstance().getLocalVoiceSkin(skin_id_you_want_to_use))

  1. Kick off guidance

You can get my full project source from the HERE servers: http://tcs.ext.here.com/sdk_examples/TtsAndNavigation.zip