VLC |当我在Android中使用FileProvider时,MX Player无法添加字幕

时间:2018-10-31 11:26:41

标签: android android-intent vlc subtitle srt

我想创建ACTION_VIEW意向来播放带有SRT字幕的视频文件并使用FileProvider

//mCtx is a Context
Intent i = new Intent(Intent.ACTION_VIEW);
Uri uri = FileProvider.getUriForFile(mCtx, mCtx.getApplicationContext().getPackageName() + ".provider", fd); //file descriptor to video file
i.setDataAndType(uri, "video/*");
Uri uriSrt = FileProvider.getUriForFile(mCtx, mCtx.getApplicationContext().getPackageName() + ".provider", fdSrt); //file descriptor to srt file
i.putExtra("subtitles_location", uriSrt);//for MX Player is String: "subs"

VLC播放视频没有SRT

但是,当我替换此行时:

i.setDataAndType(uri, "video/*");
//VLC can not browse a folder and show: content://<app package name>/...

在此行

i.setDataAndType(Uri.parse(fd.getPath()), "video/*");
//VLC can browse a folder, and show: file:///storage/emulated/0/...

VLC使用SRT 播放视频。但不总是。有时我会向logcat发送消息:ErrorMessage VLC is unable to open the MRL '/storage/emulated/0/<path>/2018-10-31_18.mp4',并且视频无法播放。

注意:srt文件与具有相同名称但后缀不同的视频文件位于同一位置。
例如:视频:2018-10-31.mp4,srt:2018-10-31.srt

某些来自Google Play的视频播放器无法通过FileProvider打开意图,例如:FX PlayeruPlayer

0 个答案:

没有答案