1
안녕하세요 Android 개발에 새로운입니다. 내 안드로이드 응용 프로그램에서 미디어 플레이어 자막을 추가하고 싶습니다. 내가 검색 한 즉 addTimedTextSource (...) 는하지만 오류 java.lang.NoSuchMethodError을 제공하는 방법을 발견했다 : android.media.MediaPlayer.addTimedTextSource이안드로이드 미디어 플레이어에 자막 트랙 추가하기
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.video_view);
mp = new MediaPlayer();
// vw = (VideoView)findViewById(R.id.video_intent);
Intent intent = getIntent();
path = intent.getStringExtra("path");
Log.d("File path ::::::::::::::::::",path);
try {
mp.setDataSource("file://"+path);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
String mimeType = getMimeType("file://mnt/sdcard/BarbieGirl.srt");
// mp.selectTrack(index);
try {
mp.addTimedTextSource(path, mimeType);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
}
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
}
사람이 어떻게을 사용하는 방법을 가르쳐주십시오 수 있습니다 또는 어떻게 안드로이드에 자막 트랙을 표시 할 수 있는지에 대한 아이디어. 적은 SDK (16) (젤리 빈)에 비해 장치에서이 코드를 실행하기 때문에
감사
해결책이 아니므로 getMimeType() 대신 MediaPlayer.MEDIA_MIMETYPE_TEXT_SUBRIP을 사용하십시오. –