Ищите рабочий пример addTimedTextSource для добавления субтитров к видео из файла .srt в Android 4.1

Я пытался использовать файл .srt для синхронизированного источника текста (доступно только в Android 4.1+http://developer.android.com/about/versions/android-4.1.html#Multimedia) Первая проблема связана с получением дескриптора файла для файла .srt (в папке assets, как еще вы могли бы связать его в вашем приложении?). Файл сжимается автоматически, поэтому вы выигралине сможет даже увидеть файл без изменения параметров компиляции или выполнения пользовательской сборки. Самым простым решением было переименовать файл .srt в .jpg, чтобы он не сжимался и метод openFD все еще работал. Я сейчас добавляю TimedTextSource с:

_myMP.addTimedTextSource(getAssets().openFd("captions.jpg").getFileDescriptor(),   MediaPlayer.MEDIA_MIMETYPE_TEXT_SUBRIP);

Теперь файл загружается правильно и, используя myMP.getTrackInfo (), чтобы получить список дорожек, может видеть, что после добавления источника синхронизированного текста 6-ая дорожка имеет тип «3» который является синхронизированным типом текстовой дорожки. Я использовал selectTrack, чтобы выбрать этот трек, как сказано в документации Google, но после этого в моем TimedTextListener не было никаких подписей:

 _myMP.setOnTimedTextListener(new OnTimedTextListener(){
        @Override
        public void onTimedText(MediaPlayer mp, TimedText text) {
                if (text!=null)
                   Log.d("TimedText", text.getText());  
            }       
        });

Запускается только один раз (у меня есть 20 временных событий в файле), но текстовый параметр всегда равен нулю. Я выполнил поиск и не могу найти ни одного примера работающего кода с использованием timeText, и он не отображается ни в одном из примеров проектов. Буквально нет документации, кроме api docs от Google, но, насколько я могу судить, никто не опубликовал Рабочий пример этого пока. Я тестирую это на Google Nexus обновлен до Android 4.2

Ответы на вопрос(3)

Ваш ответ на вопрос