मुझे समाधान मिला। मैं सम्मान बिल्डर है कि पास उपशीर्षक खिलाड़ी गतिविधि में के बाद का उपयोग कर TimedTextFileFormat
नीचे टीटीएमएल को srt कन्वर्ट करने के लिए मेरे कोड है टीटीएमएल फ़ाइल में SRT फ़ाइल कनवर्ट करते हैं,
private Subtitle subttl;
private void parseSubtitile(String subtitle) {
// subtitle is the srt file content
// TODO Auto-generated method stub
// StringBuilder buf = new StringBuilder();
InputStream json = null;
json = null;
json = new ByteArrayInputStream(subtitle.getBytes());
// FormatTTML formate = new FormatTTML();
InputStream is = null;
try {
// TimedTextObject ttmlObj=formate.parseFile("Testing", json);
TimedTextFileFormat ttff = new FormatSRT();
TimedTextObject tto = ttff.parseFile("Test", json);
// IOClass.writeFileTxt("test1", tto.toTTML());
String data = tto.toTTML();
is = new ByteArrayInputStream(data.getBytes());
Log.d("web", data.toString());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (FatalParsingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
TtmlParser parser = new TtmlParser();
try {
subttl = parser.parse(is, null, 0);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
, इस में मैं HlsRendererBuilder को भेज रहा हूँ।
private RendererBuilder getRendererBuilder() {
String userAgent = Util.getUserAgent(this, "ExoPlayerDemo");
switch (contentType) {
case DemoUtil.TYPE_HLS:
return new HlsRendererBuilder(this, userAgent,
contentUri.toString(), debugTextView, audioCapabilities,
subttl);
}
HlsRendererBuilder वर्ग से TrackRenderer को इसे पारित, // बिल्ड डिबग रेंडरर।
TrackRenderer debugRenderer = debugTextView != null
? new DebugTrackRenderer(debugTextView, player, videoRenderer,context,subttl) : null;
और कोड नीचे रन विधि प्रयोग में DebugTrackRenderer कक्षा में,
public void run() {
String data1 = subttl.getText(getCurrentPositionUs());
player.onText(String.valueOf(data1));
}
इस रेपो को देखने का प्रयास करें: https://github.com/bluemix/CinemanaPlayer –